<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />

<title>Untitled</title>

<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>



<style type="text/css">
    /*!
*
* Twitter Bootstrap
*
*/
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .navbar {
    display: none;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
  content: "\002a";
}
.glyphicon-plus:before {
  content: "\002b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac";
}
.glyphicon-minus:before {
  content: "\2212";
}
.glyphicon-cloud:before {
  content: "\2601";
}
.glyphicon-envelope:before {
  content: "\2709";
}
.glyphicon-pencil:before {
  content: "\270f";
}
.glyphicon-glass:before {
  content: "\e001";
}
.glyphicon-music:before {
  content: "\e002";
}
.glyphicon-search:before {
  content: "\e003";
}
.glyphicon-heart:before {
  content: "\e005";
}
.glyphicon-star:before {
  content: "\e006";
}
.glyphicon-star-empty:before {
  content: "\e007";
}
.glyphicon-user:before {
  content: "\e008";
}
.glyphicon-film:before {
  content: "\e009";
}
.glyphicon-th-large:before {
  content: "\e010";
}
.glyphicon-th:before {
  content: "\e011";
}
.glyphicon-th-list:before {
  content: "\e012";
}
.glyphicon-ok:before {
  content: "\e013";
}
.glyphicon-remove:before {
  content: "\e014";
}
.glyphicon-zoom-in:before {
  content: "\e015";
}
.glyphicon-zoom-out:before {
  content: "\e016";
}
.glyphicon-off:before {
  content: "\e017";
}
.glyphicon-signal:before {
  content: "\e018";
}
.glyphicon-cog:before {
  content: "\e019";
}
.glyphicon-trash:before {
  content: "\e020";
}
.glyphicon-home:before {
  content: "\e021";
}
.glyphicon-file:before {
  content: "\e022";
}
.glyphicon-time:before {
  content: "\e023";
}
.glyphicon-road:before {
  content: "\e024";
}
.glyphicon-download-alt:before {
  content: "\e025";
}
.glyphicon-download:before {
  content: "\e026";
}
.glyphicon-upload:before {
  content: "\e027";
}
.glyphicon-inbox:before {
  content: "\e028";
}
.glyphicon-play-circle:before {
  content: "\e029";
}
.glyphicon-repeat:before {
  content: "\e030";
}
.glyphicon-refresh:before {
  content: "\e031";
}
.glyphicon-list-alt:before {
  content: "\e032";
}
.glyphicon-lock:before {
  content: "\e033";
}
.glyphicon-flag:before {
  content: "\e034";
}
.glyphicon-headphones:before {
  content: "\e035";
}
.glyphicon-volume-off:before {
  content: "\e036";
}
.glyphicon-volume-down:before {
  content: "\e037";
}
.glyphicon-volume-up:before {
  content: "\e038";
}
.glyphicon-qrcode:before {
  content: "\e039";
}
.glyphicon-barcode:before {
  content: "\e040";
}
.glyphicon-tag:before {
  content: "\e041";
}
.glyphicon-tags:before {
  content: "\e042";
}
.glyphicon-book:before {
  content: "\e043";
}
.glyphicon-bookmark:before {
  content: "\e044";
}
.glyphicon-print:before {
  content: "\e045";
}
.glyphicon-camera:before {
  content: "\e046";
}
.glyphicon-font:before {
  content: "\e047";
}
.glyphicon-bold:before {
  content: "\e048";
}
.glyphicon-italic:before {
  content: "\e049";
}
.glyphicon-text-height:before {
  content: "\e050";
}
.glyphicon-text-width:before {
  content: "\e051";
}
.glyphicon-align-left:before {
  content: "\e052";
}
.glyphicon-align-center:before {
  content: "\e053";
}
.glyphicon-align-right:before {
  content: "\e054";
}
.glyphicon-align-justify:before {
  content: "\e055";
}
.glyphicon-list:before {
  content: "\e056";
}
.glyphicon-indent-left:before {
  content: "\e057";
}
.glyphicon-indent-right:before {
  content: "\e058";
}
.glyphicon-facetime-video:before {
  content: "\e059";
}
.glyphicon-picture:before {
  content: "\e060";
}
.glyphicon-map-marker:before {
  content: "\e062";
}
.glyphicon-adjust:before {
  content: "\e063";
}
.glyphicon-tint:before {
  content: "\e064";
}
.glyphicon-edit:before {
  content: "\e065";
}
.glyphicon-share:before {
  content: "\e066";
}
.glyphicon-check:before {
  content: "\e067";
}
.glyphicon-move:before {
  content: "\e068";
}
.glyphicon-step-backward:before {
  content: "\e069";
}
.glyphicon-fast-backward:before {
  content: "\e070";
}
.glyphicon-backward:before {
  content: "\e071";
}
.glyphicon-play:before {
  content: "\e072";
}
.glyphicon-pause:before {
  content: "\e073";
}
.glyphicon-stop:before {
  content: "\e074";
}
.glyphicon-forward:before {
  content: "\e075";
}
.glyphicon-fast-forward:before {
  content: "\e076";
}
.glyphicon-step-forward:before {
  content: "\e077";
}
.glyphicon-eject:before {
  content: "\e078";
}
.glyphicon-chevron-left:before {
  content: "\e079";
}
.glyphicon-chevron-right:before {
  content: "\e080";
}
.glyphicon-plus-sign:before {
  content: "\e081";
}
.glyphicon-minus-sign:before {
  content: "\e082";
}
.glyphicon-remove-sign:before {
  content: "\e083";
}
.glyphicon-ok-sign:before {
  content: "\e084";
}
.glyphicon-question-sign:before {
  content: "\e085";
}
.glyphicon-info-sign:before {
  content: "\e086";
}
.glyphicon-screenshot:before {
  content: "\e087";
}
.glyphicon-remove-circle:before {
  content: "\e088";
}
.glyphicon-ok-circle:before {
  content: "\e089";
}
.glyphicon-ban-circle:before {
  content: "\e090";
}
.glyphicon-arrow-left:before {
  content: "\e091";
}
.glyphicon-arrow-right:before {
  content: "\e092";
}
.glyphicon-arrow-up:before {
  content: "\e093";
}
.glyphicon-arrow-down:before {
  content: "\e094";
}
.glyphicon-share-alt:before {
  content: "\e095";
}
.glyphicon-resize-full:before {
  content: "\e096";
}
.glyphicon-resize-small:before {
  content: "\e097";
}
.glyphicon-exclamation-sign:before {
  content: "\e101";
}
.glyphicon-gift:before {
  content: "\e102";
}
.glyphicon-leaf:before {
  content: "\e103";
}
.glyphicon-fire:before {
  content: "\e104";
}
.glyphicon-eye-open:before {
  content: "\e105";
}
.glyphicon-eye-close:before {
  content: "\e106";
}
.glyphicon-warning-sign:before {
  content: "\e107";
}
.glyphicon-plane:before {
  content: "\e108";
}
.glyphicon-calendar:before {
  content: "\e109";
}
.glyphicon-random:before {
  content: "\e110";
}
.glyphicon-comment:before {
  content: "\e111";
}
.glyphicon-magnet:before {
  content: "\e112";
}
.glyphicon-chevron-up:before {
  content: "\e113";
}
.glyphicon-chevron-down:before {
  content: "\e114";
}
.glyphicon-retweet:before {
  content: "\e115";
}
.glyphicon-shopping-cart:before {
  content: "\e116";
}
.glyphicon-folder-close:before {
  content: "\e117";
}
.glyphicon-folder-open:before {
  content: "\e118";
}
.glyphicon-resize-vertical:before {
  content: "\e119";
}
.glyphicon-resize-horizontal:before {
  content: "\e120";
}
.glyphicon-hdd:before {
  content: "\e121";
}
.glyphicon-bullhorn:before {
  content: "\e122";
}
.glyphicon-bell:before {
  content: "\e123";
}
.glyphicon-certificate:before {
  content: "\e124";
}
.glyphicon-thumbs-up:before {
  content: "\e125";
}
.glyphicon-thumbs-down:before {
  content: "\e126";
}
.glyphicon-hand-right:before {
  content: "\e127";
}
.glyphicon-hand-left:before {
  content: "\e128";
}
.glyphicon-hand-up:before {
  content: "\e129";
}
.glyphicon-hand-down:before {
  content: "\e130";
}
.glyphicon-circle-arrow-right:before {
  content: "\e131";
}
.glyphicon-circle-arrow-left:before {
  content: "\e132";
}
.glyphicon-circle-arrow-up:before {
  content: "\e133";
}
.glyphicon-circle-arrow-down:before {
  content: "\e134";
}
.glyphicon-globe:before {
  content: "\e135";
}
.glyphicon-wrench:before {
  content: "\e136";
}
.glyphicon-tasks:before {
  content: "\e137";
}
.glyphicon-filter:before {
  content: "\e138";
}
.glyphicon-briefcase:before {
  content: "\e139";
}
.glyphicon-fullscreen:before {
  content: "\e140";
}
.glyphicon-dashboard:before {
  content: "\e141";
}
.glyphicon-paperclip:before {
  content: "\e142";
}
.glyphicon-heart-empty:before {
  content: "\e143";
}
.glyphicon-link:before {
  content: "\e144";
}
.glyphicon-phone:before {
  content: "\e145";
}
.glyphicon-pushpin:before {
  content: "\e146";
}
.glyphicon-usd:before {
  content: "\e148";
}
.glyphicon-gbp:before {
  content: "\e149";
}
.glyphicon-sort:before {
  content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
  content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152";
}
.glyphicon-sort-by-order:before {
  content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
  content: "\e154";
}
.glyphicon-sort-by-attributes:before {
  content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
  content: "\e156";
}
.glyphicon-unchecked:before {
  content: "\e157";
}
.glyphicon-expand:before {
  content: "\e158";
}
.glyphicon-collapse-down:before {
  content: "\e159";
}
.glyphicon-collapse-up:before {
  content: "\e160";
}
.glyphicon-log-in:before {
  content: "\e161";
}
.glyphicon-flash:before {
  content: "\e162";
}
.glyphicon-log-out:before {
  content: "\e163";
}
.glyphicon-new-window:before {
  content: "\e164";
}
.glyphicon-record:before {
  content: "\e165";
}
.glyphicon-save:before {
  content: "\e166";
}
.glyphicon-open:before {
  content: "\e167";
}
.glyphicon-saved:before {
  content: "\e168";
}
.glyphicon-import:before {
  content: "\e169";
}
.glyphicon-export:before {
  content: "\e170";
}
.glyphicon-send:before {
  content: "\e171";
}
.glyphicon-floppy-disk:before {
  content: "\e172";
}
.glyphicon-floppy-saved:before {
  content: "\e173";
}
.glyphicon-floppy-remove:before {
  content: "\e174";
}
.glyphicon-floppy-save:before {
  content: "\e175";
}
.glyphicon-floppy-open:before {
  content: "\e176";
}
.glyphicon-credit-card:before {
  content: "\e177";
}
.glyphicon-transfer:before {
  content: "\e178";
}
.glyphicon-cutlery:before {
  content: "\e179";
}
.glyphicon-header:before {
  content: "\e180";
}
.glyphicon-compressed:before {
  content: "\e181";
}
.glyphicon-earphone:before {
  content: "\e182";
}
.glyphicon-phone-alt:before {
  content: "\e183";
}
.glyphicon-tower:before {
  content: "\e184";
}
.glyphicon-stats:before {
  content: "\e185";
}
.glyphicon-sd-video:before {
  content: "\e186";
}
.glyphicon-hd-video:before {
  content: "\e187";
}
.glyphicon-subtitles:before {
  content: "\e188";
}
.glyphicon-sound-stereo:before {
  content: "\e189";
}
.glyphicon-sound-dolby:before {
  content: "\e190";
}
.glyphicon-sound-5-1:before {
  content: "\e191";
}
.glyphicon-sound-6-1:before {
  content: "\e192";
}
.glyphicon-sound-7-1:before {
  content: "\e193";
}
.glyphicon-copyright-mark:before {
  content: "\e194";
}
.glyphicon-registration-mark:before {
  content: "\e195";
}
.glyphicon-cloud-download:before {
  content: "\e197";
}
.glyphicon-cloud-upload:before {
  content: "\e198";
}
.glyphicon-tree-conifer:before {
  content: "\e199";
}
.glyphicon-tree-deciduous:before {
  content: "\e200";
}
.glyphicon-cd:before {
  content: "\e201";
}
.glyphicon-save-file:before {
  content: "\e202";
}
.glyphicon-open-file:before {
  content: "\e203";
}
.glyphicon-level-up:before {
  content: "\e204";
}
.glyphicon-copy:before {
  content: "\e205";
}
.glyphicon-paste:before {
  content: "\e206";
}
.glyphicon-alert:before {
  content: "\e209";
}
.glyphicon-equalizer:before {
  content: "\e210";
}
.glyphicon-king:before {
  content: "\e211";
}
.glyphicon-queen:before {
  content: "\e212";
}
.glyphicon-pawn:before {
  content: "\e213";
}
.glyphicon-bishop:before {
  content: "\e214";
}
.glyphicon-knight:before {
  content: "\e215";
}
.glyphicon-baby-formula:before {
  content: "\e216";
}
.glyphicon-tent:before {
  content: "\26fa";
}
.glyphicon-blackboard:before {
  content: "\e218";
}
.glyphicon-bed:before {
  content: "\e219";
}
.glyphicon-apple:before {
  content: "\f8ff";
}
.glyphicon-erase:before {
  content: "\e221";
}
.glyphicon-hourglass:before {
  content: "\231b";
}
.glyphicon-lamp:before {
  content: "\e223";
}
.glyphicon-duplicate:before {
  content: "\e224";
}
.glyphicon-piggy-bank:before {
  content: "\e225";
}
.glyphicon-scissors:before {
  content: "\e226";
}
.glyphicon-bitcoin:before {
  content: "\e227";
}
.glyphicon-btc:before {
  content: "\e227";
}
.glyphicon-xbt:before {
  content: "\e227";
}
.glyphicon-yen:before {
  content: "\00a5";
}
.glyphicon-jpy:before {
  content: "\00a5";
}
.glyphicon-ruble:before {
  content: "\20bd";
}
.glyphicon-rub:before {
  content: "\20bd";
}
.glyphicon-scale:before {
  content: "\e230";
}
.glyphicon-ice-lolly:before {
  content: "\e231";
}
.glyphicon-ice-lolly-tasted:before {
  content: "\e232";
}
.glyphicon-education:before {
  content: "\e233";
}
.glyphicon-option-horizontal:before {
  content: "\e234";
}
.glyphicon-option-vertical:before {
  content: "\e235";
}
.glyphicon-menu-hamburger:before {
  content: "\e236";
}
.glyphicon-modal-window:before {
  content: "\e237";
}
.glyphicon-oil:before {
  content: "\e238";
}
.glyphicon-grain:before {
  content: "\e239";
}
.glyphicon-sunglasses:before {
  content: "\e240";
}
.glyphicon-text-size:before {
  content: "\e241";
}
.glyphicon-text-color:before {
  content: "\e242";
}
.glyphicon-text-background:before {
  content: "\e243";
}
.glyphicon-object-align-top:before {
  content: "\e244";
}
.glyphicon-object-align-bottom:before {
  content: "\e245";
}
.glyphicon-object-align-horizontal:before {
  content: "\e246";
}
.glyphicon-object-align-left:before {
  content: "\e247";
}
.glyphicon-object-align-vertical:before {
  content: "\e248";
}
.glyphicon-object-align-right:before {
  content: "\e249";
}
.glyphicon-triangle-right:before {
  content: "\e250";
}
.glyphicon-triangle-left:before {
  content: "\e251";
}
.glyphicon-triangle-bottom:before {
  content: "\e252";
}
.glyphicon-triangle-top:before {
  content: "\e253";
}
.glyphicon-console:before {
  content: "\e254";
}
.glyphicon-superscript:before {
  content: "\e255";
}
.glyphicon-subscript:before {
  content: "\e256";
}
.glyphicon-menu-left:before {
  content: "\e257";
}
.glyphicon-menu-right:before {
  content: "\e258";
}
.glyphicon-menu-down:before {
  content: "\e259";
}
.glyphicon-menu-up:before {
  content: "\e260";
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.42857143;
  color: #000;
  background-color: #fff;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #23527c;
  text-decoration: underline;
}
a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 3px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 18px;
  margin-bottom: 18px;
  border: 0;
  border-top: 1px solid #eeeeee;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
[role="button"] {
  cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 18px;
  margin-bottom: 9px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 9px;
  margin-bottom: 9px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 33px;
}
h2,
.h2 {
  font-size: 27px;
}
h3,
.h3 {
  font-size: 23px;
}
h4,
.h4 {
  font-size: 17px;
}
h5,
.h5 {
  font-size: 13px;
}
h6,
.h6 {
  font-size: 12px;
}
p {
  margin: 0 0 9px;
}
.lead {
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 19.5px;
  }
}
small,
.small {
  font-size: 92%;
}
mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #777777;
}
.text-primary {
  color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
  color: #286090;
}
.text-success {
  color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
  color: #2b542c;
}
.text-info {
  color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
  color: #245269;
}
.text-warning {
  color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #66512c;
}
.text-danger {
  color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
  color: #843534;
}
.bg-primary {
  color: #fff;
  background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 8px;
  margin: 36px 0 18px;
  border-bottom: 1px solid #eeeeee;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 9px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 18px;
}
dt,
dd {
  line-height: 1.42857143;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
@media (min-width: 541px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 9px 18px;
  margin: 0 0 18px;
  font-size: inherit;
  border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}
address {
  margin-bottom: 18px;
  font-style: normal;
  line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
  font-family: monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 2px;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #888;
  background-color: transparent;
  border-radius: 1px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}
pre {
  display: block;
  padding: 8.5px;
  margin: 0 0 9px;
  font-size: 12px;
  line-height: 1.42857143;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 2px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
@media (min-width: 768px) {
  .container {
    width: 768px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 940px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1140px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
.row {
  margin-left: 0px;
  margin-right: 0px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 0px;
  padding-right: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 18px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #ddd;
}
.table .table {
  background-color: #fff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
  background-color: #f5f5f5;
}
table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 13.5px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 18px;
  font-size: 19.5px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type="file"] {
  display: block;
}
input[type="range"] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
}
.form-control {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control::-ms-expand {
  border: 0;
  background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 32px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm,
  .input-group-sm input[type="date"],
  .input-group-sm input[type="time"],
  .input-group-sm input[type="datetime-local"],
  .input-group-sm input[type="month"] {
    line-height: 30px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg,
  .input-group-lg input[type="date"],
  .input-group-lg input[type="time"],
  .input-group-lg input[type="datetime-local"],
  .input-group-lg input[type="month"] {
    line-height: 45px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 18px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 31px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-sm {
  height: 30px;
  line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.input-lg {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-lg {
  height: 45px;
  line-height: 45px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.form-group-lg select.form-control {
  height: 45px;
  line-height: 45px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 45px;
  min-height: 35px;
  padding: 11px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 40px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 45px;
  height: 45px;
  line-height: 45px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #2b542c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #66512c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
  top: 23px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #404040;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 25px;
}
.form-horizontal .form-group {
  margin-left: 0px;
  margin-right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 17px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  border-radius: 2px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #333;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.btn-default:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
  background-color: #fff;
  border-color: #ccc;
}
.btn-default .badge {
  color: #fff;
  background-color: #333;
}
.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
  color: #fff;
  background-color: #286090;
  border-color: #122b40;
}
.btn-primary:hover {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary .badge {
  color: #337ab7;
  background-color: #fff;
}
.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.btn-success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.btn-info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.btn-warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.btn-danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}
.btn-link {
  color: #337ab7;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #23527c;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
}
.collapse.in {
  display: block;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 13px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 2px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #777777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}
.open > .dropdown-menu {
  display: block;
}
.open > a {
  outline: 0;
}
.dropdown-menu-right {
  left: auto;
  right: 0;
}
.dropdown-menu-left {
  left: 0;
  right: auto;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.42857143;
  color: #777777;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}
@media (min-width: 541px) {
  .navbar-right .dropdown-menu {
    left: auto;
    right: 0;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group > .btn-group {
  float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
  float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified > .btn-group .btn {
  width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
  left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*="col-"] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group .form-control:focus {
  z-index: 3;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  line-height: 45px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 13px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 2px;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 1px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 17px;
  border-radius: 3px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  z-index: 2;
  margin-left: -1px;
}
.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav > li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav > li.disabled > a {
  color: #777777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #777777;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: #eeeeee;
  border-color: #337ab7;
}
.nav .nav-divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  border-radius: 2px 2px 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #555555;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified > li {
  float: none;
}
.nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 2px;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #fff;
  background-color: #337ab7;
}
.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
}
.nav-justified > li {
  float: none;
}
.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified > li > a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar {
  position: relative;
  min-height: 30px;
  margin-bottom: 18px;
  border: 1px solid transparent;
}
@media (min-width: 541px) {
  .navbar {
    border-radius: 2px;
  }
}
@media (min-width: 541px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  overflow-x: visible;
  padding-right: 0px;
  padding-left: 0px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 541px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 540px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  margin-right: 0px;
  margin-left: 0px;
}
@media (min-width: 541px) {
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 541px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 541px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.navbar-brand {
  float: left;
  padding: 6px 0px;
  font-size: 17px;
  line-height: 18px;
  height: 30px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand > img {
  display: block;
}
@media (min-width: 541px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: 0px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 0px;
  padding: 9px 10px;
  margin-top: -2px;
  margin-bottom: -2px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 2px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 541px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-nav {
  margin: 3px 0px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 18px;
}
@media (max-width: 540px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 18px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 541px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}
.navbar-form {
  margin-left: 0px;
  margin-right: 0px;
  padding: 10px 0px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: -1px;
  margin-bottom: -1px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 540px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 541px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: -1px;
  margin-bottom: -1px;
}
.navbar-btn.btn-sm {
  margin-top: 0px;
  margin-bottom: 0px;
}
.navbar-btn.btn-xs {
  margin-top: 4px;
  margin-bottom: 4px;
}
.navbar-text {
  margin-top: 6px;
  margin-bottom: 6px;
}
@media (min-width: 541px) {
  .navbar-text {
    float: left;
    margin-left: 0px;
    margin-right: 0px;
  }
}
@media (min-width: 541px) {
  .navbar-left {
    float: left !important;
    float: left;
  }
  .navbar-right {
    float: right !important;
    float: right;
    margin-right: 0px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
  color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #5e5e5e;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777;
}
.navbar-default .navbar-nav > li > a {
  color: #777;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #333;
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #555;
  background-color: #e7e7e7;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e7e7e7;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #e7e7e7;
  color: #555;
}
@media (max-width: 540px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #333;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #555;
    background-color: #e7e7e7;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #777;
}
.navbar-default .navbar-link:hover {
  color: #333;
}
.navbar-default .btn-link {
  color: #777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}
.navbar-inverse {
  background-color: #222;
  border-color: #080808;
}
.navbar-inverse .navbar-brand {
  color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #fff;
  background-color: #080808;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: #080808;
  color: #fff;
}
@media (max-width: 540px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #9d9d9d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #fff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #fff;
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
  color: #fff;
}
.navbar-inverse .btn-link {
  color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}
.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 18px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 2px;
}
.breadcrumb > li {
  display: inline-block;
}
.breadcrumb > li + li:before {
  content: "/\00a0";
  padding: 0 5px;
  color: #5e5e5e;
}
.breadcrumb > .active {
  color: #777777;
}
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 18px 0;
  border-radius: 2px;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.42857143;
  text-decoration: none;
  color: #337ab7;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  z-index: 2;
  color: #23527c;
  background-color: #eeeeee;
  border-color: #ddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 3;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
  cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #777777;
  background-color: #fff;
  border-color: #ddd;
  cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 1px;
  border-top-left-radius: 1px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 1px;
  border-top-right-radius: 1px;
}
.pager {
  padding-left: 0;
  margin: 18px 0;
  list-style: none;
  text-align: center;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.pager .next > a,
.pager .next > span {
  float: right;
}
.pager .previous > a,
.pager .previous > span {
  float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #777777;
  background-color: #fff;
  cursor: not-allowed;
}
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.label-default {
  background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #5e5e5e;
}
.label-primary {
  background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #286090;
}
.label-success {
  background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #449d44;
}
.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #31b0d5;
}
.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #ec971f;
}
.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #c9302c;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #337ab7;
  background-color: #fff;
}
.list-group-item > .badge {
  float: right;
}
.list-group-item > .badge + .badge {
  margin-right: 5px;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}
.jumbotron {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}
.jumbotron p {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 200;
}
.jumbotron > hr {
  border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 3px;
  padding-left: 0px;
  padding-right: 0px;
}
.jumbotron .container {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 59px;
  }
}
.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 18px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
  margin-left: auto;
  margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}
.thumbnail .caption {
  padding: 9px;
  color: #000;
}
.alert {
  padding: 15px;
  margin-bottom: 18px;
  border: 1px solid transparent;
  border-radius: 2px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #2b542c;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}
.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #66512c;
}
.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 18px;
  margin-bottom: 18px;
  background-color: #f5f5f5;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 18px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}
.media-body {
  width: 10000px;
}
.media-object {
  display: block;
}
.media-object.img-thumbnail {
  max-width: none;
}
.media-right,
.media > .pull-right {
  padding-left: 10px;
}
.media-left,
.media > .pull-left {
  padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd;
}
.list-group-item:first-child {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
a.list-group-item,
button.list-group-item {
  color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
  text-decoration: none;
  color: #555;
  background-color: #f5f5f5;
}
button.list-group-item {
  width: 100%;
  text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #777777;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #c7ddef;
}
.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
  color: #3c763d;
  background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
  color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
  color: #31708f;
  background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
  color: #8a6d3b;
  background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
  color: #a94442;
  background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}
.panel {
  margin-bottom: 18px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 2px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 15px;
  color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: 1px;
  border-top-right-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: 1px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: 1px;
  border-bottom-right-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: 1px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 18px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 2px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default > .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #337ab7;
}
.panel-primary > .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
  color: #337ab7;
  background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #337ab7;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success > .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning > .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger > .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ebccd1;
}
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
  padding-bottom: 75%;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
  padding: 24px;
  border-radius: 3px;
}
.well-sm {
  padding: 9px;
  border-radius: 1px;
}
.close {
  float: right;
  font-size: 19.5px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
  margin-top: -2px;
}
.modal-title {
  margin: 0;
  line-height: 1.42857143;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 12px;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 2px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 13px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 13px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 2px 2px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover > .arrow {
  border-width: 11px;
}
.popover > .arrow:after {
  border-width: 10px;
  content: "";
}
.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}
.popover.top > .arrow:after {
  content: " ";
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}
.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right > .arrow:after {
  content: " ";
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}
.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}
.popover.bottom > .arrow:after {
  content: " ";
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}
.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left > .arrow:after {
  content: " ";
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.carousel-inner > .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -moz-transition: -moz-transform 0.6s ease-in-out;
    -o-transition: -o-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
  }
  .carousel-inner > .item.next,
  .carousel-inner > .item.active.right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.prev,
  .carousel-inner > .item.active.left {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.next.left,
  .carousel-inner > .item.prev.right,
  .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}
.carousel-inner > .active {
  left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner > .next {
  left: 100%;
}
.carousel-inner > .prev {
  left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}
.carousel-inner > .active.left {
  left: -100%;
}
.carousel-inner > .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  background-color: rgba(0, 0, 0, 0);
}
.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  margin-top: -10px;
  z-index: 5;
  display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  line-height: 1;
  font-family: serif;
}
.carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel-control .icon-next:before {
  content: '\203a';
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #fff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -10px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -10px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -10px;
  }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after,
.item_buttons:before,
.item_buttons:after {
  content: " ";
  display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after,
.item_buttons:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}
/*!
*
* Font Awesome
*
*/
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0');
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-fw {
  width: 1.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em;
}
.fa-pull-left {
  float: left;
}
.fa-pull-right {
  float: right;
}
.fa.fa-pull-left {
  margin-right: .3em;
}
.fa.fa-pull-right {
  margin-left: .3em;
}
/* Deprecated as of 4.4.0 */
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.fa.pull-left {
  margin-right: .3em;
}
.fa.pull-right {
  margin-left: .3em;
}
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}
.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}
@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: #fff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}
.fa-music:before {
  content: "\f001";
}
.fa-search:before {
  content: "\f002";
}
.fa-envelope-o:before {
  content: "\f003";
}
.fa-heart:before {
  content: "\f004";
}
.fa-star:before {
  content: "\f005";
}
.fa-star-o:before {
  content: "\f006";
}
.fa-user:before {
  content: "\f007";
}
.fa-film:before {
  content: "\f008";
}
.fa-th-large:before {
  content: "\f009";
}
.fa-th:before {
  content: "\f00a";
}
.fa-th-list:before {
  content: "\f00b";
}
.fa-check:before {
  content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}
.fa-search-plus:before {
  content: "\f00e";
}
.fa-search-minus:before {
  content: "\f010";
}
.fa-power-off:before {
  content: "\f011";
}
.fa-signal:before {
  content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}
.fa-trash-o:before {
  content: "\f014";
}
.fa-home:before {
  content: "\f015";
}
.fa-file-o:before {
  content: "\f016";
}
.fa-clock-o:before {
  content: "\f017";
}
.fa-road:before {
  content: "\f018";
}
.fa-download:before {
  content: "\f019";
}
.fa-arrow-circle-o-down:before {
  content: "\f01a";
}
.fa-arrow-circle-o-up:before {
  content: "\f01b";
}
.fa-inbox:before {
  content: "\f01c";
}
.fa-play-circle-o:before {
  content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}
.fa-refresh:before {
  content: "\f021";
}
.fa-list-alt:before {
  content: "\f022";
}
.fa-lock:before {
  content: "\f023";
}
.fa-flag:before {
  content: "\f024";
}
.fa-headphones:before {
  content: "\f025";
}
.fa-volume-off:before {
  content: "\f026";
}
.fa-volume-down:before {
  content: "\f027";
}
.fa-volume-up:before {
  content: "\f028";
}
.fa-qrcode:before {
  content: "\f029";
}
.fa-barcode:before {
  content: "\f02a";
}
.fa-tag:before {
  content: "\f02b";
}
.fa-tags:before {
  content: "\f02c";
}
.fa-book:before {
  content: "\f02d";
}
.fa-bookmark:before {
  content: "\f02e";
}
.fa-print:before {
  content: "\f02f";
}
.fa-camera:before {
  content: "\f030";
}
.fa-font:before {
  content: "\f031";
}
.fa-bold:before {
  content: "\f032";
}
.fa-italic:before {
  content: "\f033";
}
.fa-text-height:before {
  content: "\f034";
}
.fa-text-width:before {
  content: "\f035";
}
.fa-align-left:before {
  content: "\f036";
}
.fa-align-center:before {
  content: "\f037";
}
.fa-align-right:before {
  content: "\f038";
}
.fa-align-justify:before {
  content: "\f039";
}
.fa-list:before {
  content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}
.fa-indent:before {
  content: "\f03c";
}
.fa-video-camera:before {
  content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}
.fa-pencil:before {
  content: "\f040";
}
.fa-map-marker:before {
  content: "\f041";
}
.fa-adjust:before {
  content: "\f042";
}
.fa-tint:before {
  content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}
.fa-share-square-o:before {
  content: "\f045";
}
.fa-check-square-o:before {
  content: "\f046";
}
.fa-arrows:before {
  content: "\f047";
}
.fa-step-backward:before {
  content: "\f048";
}
.fa-fast-backward:before {
  content: "\f049";
}
.fa-backward:before {
  content: "\f04a";
}
.fa-play:before {
  content: "\f04b";
}
.fa-pause:before {
  content: "\f04c";
}
.fa-stop:before {
  content: "\f04d";
}
.fa-forward:before {
  content: "\f04e";
}
.fa-fast-forward:before {
  content: "\f050";
}
.fa-step-forward:before {
  content: "\f051";
}
.fa-eject:before {
  content: "\f052";
}
.fa-chevron-left:before {
  content: "\f053";
}
.fa-chevron-right:before {
  content: "\f054";
}
.fa-plus-circle:before {
  content: "\f055";
}
.fa-minus-circle:before {
  content: "\f056";
}
.fa-times-circle:before {
  content: "\f057";
}
.fa-check-circle:before {
  content: "\f058";
}
.fa-question-circle:before {
  content: "\f059";
}
.fa-info-circle:before {
  content: "\f05a";
}
.fa-crosshairs:before {
  content: "\f05b";
}
.fa-times-circle-o:before {
  content: "\f05c";
}
.fa-check-circle-o:before {
  content: "\f05d";
}
.fa-ban:before {
  content: "\f05e";
}
.fa-arrow-left:before {
  content: "\f060";
}
.fa-arrow-right:before {
  content: "\f061";
}
.fa-arrow-up:before {
  content: "\f062";
}
.fa-arrow-down:before {
  content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}
.fa-expand:before {
  content: "\f065";
}
.fa-compress:before {
  content: "\f066";
}
.fa-plus:before {
  content: "\f067";
}
.fa-minus:before {
  content: "\f068";
}
.fa-asterisk:before {
  content: "\f069";
}
.fa-exclamation-circle:before {
  content: "\f06a";
}
.fa-gift:before {
  content: "\f06b";
}
.fa-leaf:before {
  content: "\f06c";
}
.fa-fire:before {
  content: "\f06d";
}
.fa-eye:before {
  content: "\f06e";
}
.fa-eye-slash:before {
  content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}
.fa-plane:before {
  content: "\f072";
}
.fa-calendar:before {
  content: "\f073";
}
.fa-random:before {
  content: "\f074";
}
.fa-comment:before {
  content: "\f075";
}
.fa-magnet:before {
  content: "\f076";
}
.fa-chevron-up:before {
  content: "\f077";
}
.fa-chevron-down:before {
  content: "\f078";
}
.fa-retweet:before {
  content: "\f079";
}
.fa-shopping-cart:before {
  content: "\f07a";
}
.fa-folder:before {
  content: "\f07b";
}
.fa-folder-open:before {
  content: "\f07c";
}
.fa-arrows-v:before {
  content: "\f07d";
}
.fa-arrows-h:before {
  content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}
.fa-twitter-square:before {
  content: "\f081";
}
.fa-facebook-square:before {
  content: "\f082";
}
.fa-camera-retro:before {
  content: "\f083";
}
.fa-key:before {
  content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}
.fa-comments:before {
  content: "\f086";
}
.fa-thumbs-o-up:before {
  content: "\f087";
}
.fa-thumbs-o-down:before {
  content: "\f088";
}
.fa-star-half:before {
  content: "\f089";
}
.fa-heart-o:before {
  content: "\f08a";
}
.fa-sign-out:before {
  content: "\f08b";
}
.fa-linkedin-square:before {
  content: "\f08c";
}
.fa-thumb-tack:before {
  content: "\f08d";
}
.fa-external-link:before {
  content: "\f08e";
}
.fa-sign-in:before {
  content: "\f090";
}
.fa-trophy:before {
  content: "\f091";
}
.fa-github-square:before {
  content: "\f092";
}
.fa-upload:before {
  content: "\f093";
}
.fa-lemon-o:before {
  content: "\f094";
}
.fa-phone:before {
  content: "\f095";
}
.fa-square-o:before {
  content: "\f096";
}
.fa-bookmark-o:before {
  content: "\f097";
}
.fa-phone-square:before {
  content: "\f098";
}
.fa-twitter:before {
  content: "\f099";
}
.fa-facebook-f:before,
.fa-facebook:before {
  content: "\f09a";
}
.fa-github:before {
  content: "\f09b";
}
.fa-unlock:before {
  content: "\f09c";
}
.fa-credit-card:before {
  content: "\f09d";
}
.fa-feed:before,
.fa-rss:before {
  content: "\f09e";
}
.fa-hdd-o:before {
  content: "\f0a0";
}
.fa-bullhorn:before {
  content: "\f0a1";
}
.fa-bell:before {
  content: "\f0f3";
}
.fa-certificate:before {
  content: "\f0a3";
}
.fa-hand-o-right:before {
  content: "\f0a4";
}
.fa-hand-o-left:before {
  content: "\f0a5";
}
.fa-hand-o-up:before {
  content: "\f0a6";
}
.fa-hand-o-down:before {
  content: "\f0a7";
}
.fa-arrow-circle-left:before {
  content: "\f0a8";
}
.fa-arrow-circle-right:before {
  content: "\f0a9";
}
.fa-arrow-circle-up:before {
  content: "\f0aa";
}
.fa-arrow-circle-down:before {
  content: "\f0ab";
}
.fa-globe:before {
  content: "\f0ac";
}
.fa-wrench:before {
  content: "\f0ad";
}
.fa-tasks:before {
  content: "\f0ae";
}
.fa-filter:before {
  content: "\f0b0";
}
.fa-briefcase:before {
  content: "\f0b1";
}
.fa-arrows-alt:before {
  content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}
.fa-cloud:before {
  content: "\f0c2";
}
.fa-flask:before {
  content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}
.fa-paperclip:before {
  content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}
.fa-square:before {
  content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}
.fa-list-ul:before {
  content: "\f0ca";
}
.fa-list-ol:before {
  content: "\f0cb";
}
.fa-strikethrough:before {
  content: "\f0cc";
}
.fa-underline:before {
  content: "\f0cd";
}
.fa-table:before {
  content: "\f0ce";
}
.fa-magic:before {
  content: "\f0d0";
}
.fa-truck:before {
  content: "\f0d1";
}
.fa-pinterest:before {
  content: "\f0d2";
}
.fa-pinterest-square:before {
  content: "\f0d3";
}
.fa-google-plus-square:before {
  content: "\f0d4";
}
.fa-google-plus:before {
  content: "\f0d5";
}
.fa-money:before {
  content: "\f0d6";
}
.fa-caret-down:before {
  content: "\f0d7";
}
.fa-caret-up:before {
  content: "\f0d8";
}
.fa-caret-left:before {
  content: "\f0d9";
}
.fa-caret-right:before {
  content: "\f0da";
}
.fa-columns:before {
  content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}
.fa-envelope:before {
  content: "\f0e0";
}
.fa-linkedin:before {
  content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}
.fa-comment-o:before {
  content: "\f0e5";
}
.fa-comments-o:before {
  content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}
.fa-sitemap:before {
  content: "\f0e8";
}
.fa-umbrella:before {
  content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}
.fa-lightbulb-o:before {
  content: "\f0eb";
}
.fa-exchange:before {
  content: "\f0ec";
}
.fa-cloud-download:before {
  content: "\f0ed";
}
.fa-cloud-upload:before {
  content: "\f0ee";
}
.fa-user-md:before {
  content: "\f0f0";
}
.fa-stethoscope:before {
  content: "\f0f1";
}
.fa-suitcase:before {
  content: "\f0f2";
}
.fa-bell-o:before {
  content: "\f0a2";
}
.fa-coffee:before {
  content: "\f0f4";
}
.fa-cutlery:before {
  content: "\f0f5";
}
.fa-file-text-o:before {
  content: "\f0f6";
}
.fa-building-o:before {
  content: "\f0f7";
}
.fa-hospital-o:before {
  content: "\f0f8";
}
.fa-ambulance:before {
  content: "\f0f9";
}
.fa-medkit:before {
  content: "\f0fa";
}
.fa-fighter-jet:before {
  content: "\f0fb";
}
.fa-beer:before {
  content: "\f0fc";
}
.fa-h-square:before {
  content: "\f0fd";
}
.fa-plus-square:before {
  content: "\f0fe";
}
.fa-angle-double-left:before {
  content: "\f100";
}
.fa-angle-double-right:before {
  content: "\f101";
}
.fa-angle-double-up:before {
  content: "\f102";
}
.fa-angle-double-down:before {
  content: "\f103";
}
.fa-angle-left:before {
  content: "\f104";
}
.fa-angle-right:before {
  content: "\f105";
}
.fa-angle-up:before {
  content: "\f106";
}
.fa-angle-down:before {
  content: "\f107";
}
.fa-desktop:before {
  content: "\f108";
}
.fa-laptop:before {
  content: "\f109";
}
.fa-tablet:before {
  content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}
.fa-circle-o:before {
  content: "\f10c";
}
.fa-quote-left:before {
  content: "\f10d";
}
.fa-quote-right:before {
  content: "\f10e";
}
.fa-spinner:before {
  content: "\f110";
}
.fa-circle:before {
  content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}
.fa-github-alt:before {
  content: "\f113";
}
.fa-folder-o:before {
  content: "\f114";
}
.fa-folder-open-o:before {
  content: "\f115";
}
.fa-smile-o:before {
  content: "\f118";
}
.fa-frown-o:before {
  content: "\f119";
}
.fa-meh-o:before {
  content: "\f11a";
}
.fa-gamepad:before {
  content: "\f11b";
}
.fa-keyboard-o:before {
  content: "\f11c";
}
.fa-flag-o:before {
  content: "\f11d";
}
.fa-flag-checkered:before {
  content: "\f11e";
}
.fa-terminal:before {
  content: "\f120";
}
.fa-code:before {
  content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}
.fa-location-arrow:before {
  content: "\f124";
}
.fa-crop:before {
  content: "\f125";
}
.fa-code-fork:before {
  content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}
.fa-question:before {
  content: "\f128";
}
.fa-info:before {
  content: "\f129";
}
.fa-exclamation:before {
  content: "\f12a";
}
.fa-superscript:before {
  content: "\f12b";
}
.fa-subscript:before {
  content: "\f12c";
}
.fa-eraser:before {
  content: "\f12d";
}
.fa-puzzle-piece:before {
  content: "\f12e";
}
.fa-microphone:before {
  content: "\f130";
}
.fa-microphone-slash:before {
  content: "\f131";
}
.fa-shield:before {
  content: "\f132";
}
.fa-calendar-o:before {
  content: "\f133";
}
.fa-fire-extinguisher:before {
  content: "\f134";
}
.fa-rocket:before {
  content: "\f135";
}
.fa-maxcdn:before {
  content: "\f136";
}
.fa-chevron-circle-left:before {
  content: "\f137";
}
.fa-chevron-circle-right:before {
  content: "\f138";
}
.fa-chevron-circle-up:before {
  content: "\f139";
}
.fa-chevron-circle-down:before {
  content: "\f13a";
}
.fa-html5:before {
  content: "\f13b";
}
.fa-css3:before {
  content: "\f13c";
}
.fa-anchor:before {
  content: "\f13d";
}
.fa-unlock-alt:before {
  content: "\f13e";
}
.fa-bullseye:before {
  content: "\f140";
}
.fa-ellipsis-h:before {
  content: "\f141";
}
.fa-ellipsis-v:before {
  content: "\f142";
}
.fa-rss-square:before {
  content: "\f143";
}
.fa-play-circle:before {
  content: "\f144";
}
.fa-ticket:before {
  content: "\f145";
}
.fa-minus-square:before {
  content: "\f146";
}
.fa-minus-square-o:before {
  content: "\f147";
}
.fa-level-up:before {
  content: "\f148";
}
.fa-level-down:before {
  content: "\f149";
}
.fa-check-square:before {
  content: "\f14a";
}
.fa-pencil-square:before {
  content: "\f14b";
}
.fa-external-link-square:before {
  content: "\f14c";
}
.fa-share-square:before {
  content: "\f14d";
}
.fa-compass:before {
  content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}
.fa-gbp:before {
  content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}
.fa-won:before,
.fa-krw:before {
  content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}
.fa-file:before {
  content: "\f15b";
}
.fa-file-text:before {
  content: "\f15c";
}
.fa-sort-alpha-asc:before {
  content: "\f15d";
}
.fa-sort-alpha-desc:before {
  content: "\f15e";
}
.fa-sort-amount-asc:before {
  content: "\f160";
}
.fa-sort-amount-desc:before {
  content: "\f161";
}
.fa-sort-numeric-asc:before {
  content: "\f162";
}
.fa-sort-numeric-desc:before {
  content: "\f163";
}
.fa-thumbs-up:before {
  content: "\f164";
}
.fa-thumbs-down:before {
  content: "\f165";
}
.fa-youtube-square:before {
  content: "\f166";
}
.fa-youtube:before {
  content: "\f167";
}
.fa-xing:before {
  content: "\f168";
}
.fa-xing-square:before {
  content: "\f169";
}
.fa-youtube-play:before {
  content: "\f16a";
}
.fa-dropbox:before {
  content: "\f16b";
}
.fa-stack-overflow:before {
  content: "\f16c";
}
.fa-instagram:before {
  content: "\f16d";
}
.fa-flickr:before {
  content: "\f16e";
}
.fa-adn:before {
  content: "\f170";
}
.fa-bitbucket:before {
  content: "\f171";
}
.fa-bitbucket-square:before {
  content: "\f172";
}
.fa-tumblr:before {
  content: "\f173";
}
.fa-tumblr-square:before {
  content: "\f174";
}
.fa-long-arrow-down:before {
  content: "\f175";
}
.fa-long-arrow-up:before {
  content: "\f176";
}
.fa-long-arrow-left:before {
  content: "\f177";
}
.fa-long-arrow-right:before {
  content: "\f178";
}
.fa-apple:before {
  content: "\f179";
}
.fa-windows:before {
  content: "\f17a";
}
.fa-android:before {
  content: "\f17b";
}
.fa-linux:before {
  content: "\f17c";
}
.fa-dribbble:before {
  content: "\f17d";
}
.fa-skype:before {
  content: "\f17e";
}
.fa-foursquare:before {
  content: "\f180";
}
.fa-trello:before {
  content: "\f181";
}
.fa-female:before {
  content: "\f182";
}
.fa-male:before {
  content: "\f183";
}
.fa-gittip:before,
.fa-gratipay:before {
  content: "\f184";
}
.fa-sun-o:before {
  content: "\f185";
}
.fa-moon-o:before {
  content: "\f186";
}
.fa-archive:before {
  content: "\f187";
}
.fa-bug:before {
  content: "\f188";
}
.fa-vk:before {
  content: "\f189";
}
.fa-weibo:before {
  content: "\f18a";
}
.fa-renren:before {
  content: "\f18b";
}
.fa-pagelines:before {
  content: "\f18c";
}
.fa-stack-exchange:before {
  content: "\f18d";
}
.fa-arrow-circle-o-right:before {
  content: "\f18e";
}
.fa-arrow-circle-o-left:before {
  content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}
.fa-dot-circle-o:before {
  content: "\f192";
}
.fa-wheelchair:before {
  content: "\f193";
}
.fa-vimeo-square:before {
  content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}
.fa-plus-square-o:before {
  content: "\f196";
}
.fa-space-shuttle:before {
  content: "\f197";
}
.fa-slack:before {
  content: "\f198";
}
.fa-envelope-square:before {
  content: "\f199";
}
.fa-wordpress:before {
  content: "\f19a";
}
.fa-openid:before {
  content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}
.fa-yahoo:before {
  content: "\f19e";
}
.fa-google:before {
  content: "\f1a0";
}
.fa-reddit:before {
  content: "\f1a1";
}
.fa-reddit-square:before {
  content: "\f1a2";
}
.fa-stumbleupon-circle:before {
  content: "\f1a3";
}
.fa-stumbleupon:before {
  content: "\f1a4";
}
.fa-delicious:before {
  content: "\f1a5";
}
.fa-digg:before {
  content: "\f1a6";
}
.fa-pied-piper-pp:before {
  content: "\f1a7";
}
.fa-pied-piper-alt:before {
  content: "\f1a8";
}
.fa-drupal:before {
  content: "\f1a9";
}
.fa-joomla:before {
  content: "\f1aa";
}
.fa-language:before {
  content: "\f1ab";
}
.fa-fax:before {
  content: "\f1ac";
}
.fa-building:before {
  content: "\f1ad";
}
.fa-child:before {
  content: "\f1ae";
}
.fa-paw:before {
  content: "\f1b0";
}
.fa-spoon:before {
  content: "\f1b1";
}
.fa-cube:before {
  content: "\f1b2";
}
.fa-cubes:before {
  content: "\f1b3";
}
.fa-behance:before {
  content: "\f1b4";
}
.fa-behance-square:before {
  content: "\f1b5";
}
.fa-steam:before {
  content: "\f1b6";
}
.fa-steam-square:before {
  content: "\f1b7";
}
.fa-recycle:before {
  content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}
.fa-tree:before {
  content: "\f1bb";
}
.fa-spotify:before {
  content: "\f1bc";
}
.fa-deviantart:before {
  content: "\f1bd";
}
.fa-soundcloud:before {
  content: "\f1be";
}
.fa-database:before {
  content: "\f1c0";
}
.fa-file-pdf-o:before {
  content: "\f1c1";
}
.fa-file-word-o:before {
  content: "\f1c2";
}
.fa-file-excel-o:before {
  content: "\f1c3";
}
.fa-file-powerpoint-o:before {
  content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}
.fa-file-code-o:before {
  content: "\f1c9";
}
.fa-vine:before {
  content: "\f1ca";
}
.fa-codepen:before {
  content: "\f1cb";
}
.fa-jsfiddle:before {
  content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}
.fa-circle-o-notch:before {
  content: "\f1ce";
}
.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}
.fa-git-square:before {
  content: "\f1d2";
}
.fa-git:before {
  content: "\f1d3";
}
.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "\f1d4";
}
.fa-tencent-weibo:before {
  content: "\f1d5";
}
.fa-qq:before {
  content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}
.fa-history:before {
  content: "\f1da";
}
.fa-circle-thin:before {
  content: "\f1db";
}
.fa-header:before {
  content: "\f1dc";
}
.fa-paragraph:before {
  content: "\f1dd";
}
.fa-sliders:before {
  content: "\f1de";
}
.fa-share-alt:before {
  content: "\f1e0";
}
.fa-share-alt-square:before {
  content: "\f1e1";
}
.fa-bomb:before {
  content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}
.fa-tty:before {
  content: "\f1e4";
}
.fa-binoculars:before {
  content: "\f1e5";
}
.fa-plug:before {
  content: "\f1e6";
}
.fa-slideshare:before {
  content: "\f1e7";
}
.fa-twitch:before {
  content: "\f1e8";
}
.fa-yelp:before {
  content: "\f1e9";
}
.fa-newspaper-o:before {
  content: "\f1ea";
}
.fa-wifi:before {
  content: "\f1eb";
}
.fa-calculator:before {
  content: "\f1ec";
}
.fa-paypal:before {
  content: "\f1ed";
}
.fa-google-wallet:before {
  content: "\f1ee";
}
.fa-cc-visa:before {
  content: "\f1f0";
}
.fa-cc-mastercard:before {
  content: "\f1f1";
}
.fa-cc-discover:before {
  content: "\f1f2";
}
.fa-cc-amex:before {
  content: "\f1f3";
}
.fa-cc-paypal:before {
  content: "\f1f4";
}
.fa-cc-stripe:before {
  content: "\f1f5";
}
.fa-bell-slash:before {
  content: "\f1f6";
}
.fa-bell-slash-o:before {
  content: "\f1f7";
}
.fa-trash:before {
  content: "\f1f8";
}
.fa-copyright:before {
  content: "\f1f9";
}
.fa-at:before {
  content: "\f1fa";
}
.fa-eyedropper:before {
  content: "\f1fb";
}
.fa-paint-brush:before {
  content: "\f1fc";
}
.fa-birthday-cake:before {
  content: "\f1fd";
}
.fa-area-chart:before {
  content: "\f1fe";
}
.fa-pie-chart:before {
  content: "\f200";
}
.fa-line-chart:before {
  content: "\f201";
}
.fa-lastfm:before {
  content: "\f202";
}
.fa-lastfm-square:before {
  content: "\f203";
}
.fa-toggle-off:before {
  content: "\f204";
}
.fa-toggle-on:before {
  content: "\f205";
}
.fa-bicycle:before {
  content: "\f206";
}
.fa-bus:before {
  content: "\f207";
}
.fa-ioxhost:before {
  content: "\f208";
}
.fa-angellist:before {
  content: "\f209";
}
.fa-cc:before {
  content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}
.fa-meanpath:before {
  content: "\f20c";
}
.fa-buysellads:before {
  content: "\f20d";
}
.fa-connectdevelop:before {
  content: "\f20e";
}
.fa-dashcube:before {
  content: "\f210";
}
.fa-forumbee:before {
  content: "\f211";
}
.fa-leanpub:before {
  content: "\f212";
}
.fa-sellsy:before {
  content: "\f213";
}
.fa-shirtsinbulk:before {
  content: "\f214";
}
.fa-simplybuilt:before {
  content: "\f215";
}
.fa-skyatlas:before {
  content: "\f216";
}
.fa-cart-plus:before {
  content: "\f217";
}
.fa-cart-arrow-down:before {
  content: "\f218";
}
.fa-diamond:before {
  content: "\f219";
}
.fa-ship:before {
  content: "\f21a";
}
.fa-user-secret:before {
  content: "\f21b";
}
.fa-motorcycle:before {
  content: "\f21c";
}
.fa-street-view:before {
  content: "\f21d";
}
.fa-heartbeat:before {
  content: "\f21e";
}
.fa-venus:before {
  content: "\f221";
}
.fa-mars:before {
  content: "\f222";
}
.fa-mercury:before {
  content: "\f223";
}
.fa-intersex:before,
.fa-transgender:before {
  content: "\f224";
}
.fa-transgender-alt:before {
  content: "\f225";
}
.fa-venus-double:before {
  content: "\f226";
}
.fa-mars-double:before {
  content: "\f227";
}
.fa-venus-mars:before {
  content: "\f228";
}
.fa-mars-stroke:before {
  content: "\f229";
}
.fa-mars-stroke-v:before {
  content: "\f22a";
}
.fa-mars-stroke-h:before {
  content: "\f22b";
}
.fa-neuter:before {
  content: "\f22c";
}
.fa-genderless:before {
  content: "\f22d";
}
.fa-facebook-official:before {
  content: "\f230";
}
.fa-pinterest-p:before {
  content: "\f231";
}
.fa-whatsapp:before {
  content: "\f232";
}
.fa-server:before {
  content: "\f233";
}
.fa-user-plus:before {
  content: "\f234";
}
.fa-user-times:before {
  content: "\f235";
}
.fa-hotel:before,
.fa-bed:before {
  content: "\f236";
}
.fa-viacoin:before {
  content: "\f237";
}
.fa-train:before {
  content: "\f238";
}
.fa-subway:before {
  content: "\f239";
}
.fa-medium:before {
  content: "\f23a";
}
.fa-yc:before,
.fa-y-combinator:before {
  content: "\f23b";
}
.fa-optin-monster:before {
  content: "\f23c";
}
.fa-opencart:before {
  content: "\f23d";
}
.fa-expeditedssl:before {
  content: "\f23e";
}
.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: "\f240";
}
.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "\f241";
}
.fa-battery-2:before,
.fa-battery-half:before {
  content: "\f242";
}
.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "\f243";
}
.fa-battery-0:before,
.fa-battery-empty:before {
  content: "\f244";
}
.fa-mouse-pointer:before {
  content: "\f245";
}
.fa-i-cursor:before {
  content: "\f246";
}
.fa-object-group:before {
  content: "\f247";
}
.fa-object-ungroup:before {
  content: "\f248";
}
.fa-sticky-note:before {
  content: "\f249";
}
.fa-sticky-note-o:before {
  content: "\f24a";
}
.fa-cc-jcb:before {
  content: "\f24b";
}
.fa-cc-diners-club:before {
  content: "\f24c";
}
.fa-clone:before {
  content: "\f24d";
}
.fa-balance-scale:before {
  content: "\f24e";
}
.fa-hourglass-o:before {
  content: "\f250";
}
.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "\f251";
}
.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "\f252";
}
.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "\f253";
}
.fa-hourglass:before {
  content: "\f254";
}
.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "\f255";
}
.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "\f256";
}
.fa-hand-scissors-o:before {
  content: "\f257";
}
.fa-hand-lizard-o:before {
  content: "\f258";
}
.fa-hand-spock-o:before {
  content: "\f259";
}
.fa-hand-pointer-o:before {
  content: "\f25a";
}
.fa-hand-peace-o:before {
  content: "\f25b";
}
.fa-trademark:before {
  content: "\f25c";
}
.fa-registered:before {
  content: "\f25d";
}
.fa-creative-commons:before {
  content: "\f25e";
}
.fa-gg:before {
  content: "\f260";
}
.fa-gg-circle:before {
  content: "\f261";
}
.fa-tripadvisor:before {
  content: "\f262";
}
.fa-odnoklassniki:before {
  content: "\f263";
}
.fa-odnoklassniki-square:before {
  content: "\f264";
}
.fa-get-pocket:before {
  content: "\f265";
}
.fa-wikipedia-w:before {
  content: "\f266";
}
.fa-safari:before {
  content: "\f267";
}
.fa-chrome:before {
  content: "\f268";
}
.fa-firefox:before {
  content: "\f269";
}
.fa-opera:before {
  content: "\f26a";
}
.fa-internet-explorer:before {
  content: "\f26b";
}
.fa-tv:before,
.fa-television:before {
  content: "\f26c";
}
.fa-contao:before {
  content: "\f26d";
}
.fa-500px:before {
  content: "\f26e";
}
.fa-amazon:before {
  content: "\f270";
}
.fa-calendar-plus-o:before {
  content: "\f271";
}
.fa-calendar-minus-o:before {
  content: "\f272";
}
.fa-calendar-times-o:before {
  content: "\f273";
}
.fa-calendar-check-o:before {
  content: "\f274";
}
.fa-industry:before {
  content: "\f275";
}
.fa-map-pin:before {
  content: "\f276";
}
.fa-map-signs:before {
  content: "\f277";
}
.fa-map-o:before {
  content: "\f278";
}
.fa-map:before {
  content: "\f279";
}
.fa-commenting:before {
  content: "\f27a";
}
.fa-commenting-o:before {
  content: "\f27b";
}
.fa-houzz:before {
  content: "\f27c";
}
.fa-vimeo:before {
  content: "\f27d";
}
.fa-black-tie:before {
  content: "\f27e";
}
.fa-fonticons:before {
  content: "\f280";
}
.fa-reddit-alien:before {
  content: "\f281";
}
.fa-edge:before {
  content: "\f282";
}
.fa-credit-card-alt:before {
  content: "\f283";
}
.fa-codiepie:before {
  content: "\f284";
}
.fa-modx:before {
  content: "\f285";
}
.fa-fort-awesome:before {
  content: "\f286";
}
.fa-usb:before {
  content: "\f287";
}
.fa-product-hunt:before {
  content: "\f288";
}
.fa-mixcloud:before {
  content: "\f289";
}
.fa-scribd:before {
  content: "\f28a";
}
.fa-pause-circle:before {
  content: "\f28b";
}
.fa-pause-circle-o:before {
  content: "\f28c";
}
.fa-stop-circle:before {
  content: "\f28d";
}
.fa-stop-circle-o:before {
  content: "\f28e";
}
.fa-shopping-bag:before {
  content: "\f290";
}
.fa-shopping-basket:before {
  content: "\f291";
}
.fa-hashtag:before {
  content: "\f292";
}
.fa-bluetooth:before {
  content: "\f293";
}
.fa-bluetooth-b:before {
  content: "\f294";
}
.fa-percent:before {
  content: "\f295";
}
.fa-gitlab:before {
  content: "\f296";
}
.fa-wpbeginner:before {
  content: "\f297";
}
.fa-wpforms:before {
  content: "\f298";
}
.fa-envira:before {
  content: "\f299";
}
.fa-universal-access:before {
  content: "\f29a";
}
.fa-wheelchair-alt:before {
  content: "\f29b";
}
.fa-question-circle-o:before {
  content: "\f29c";
}
.fa-blind:before {
  content: "\f29d";
}
.fa-audio-description:before {
  content: "\f29e";
}
.fa-volume-control-phone:before {
  content: "\f2a0";
}
.fa-braille:before {
  content: "\f2a1";
}
.fa-assistive-listening-systems:before {
  content: "\f2a2";
}
.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: "\f2a3";
}
.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: "\f2a4";
}
.fa-glide:before {
  content: "\f2a5";
}
.fa-glide-g:before {
  content: "\f2a6";
}
.fa-signing:before,
.fa-sign-language:before {
  content: "\f2a7";
}
.fa-low-vision:before {
  content: "\f2a8";
}
.fa-viadeo:before {
  content: "\f2a9";
}
.fa-viadeo-square:before {
  content: "\f2aa";
}
.fa-snapchat:before {
  content: "\f2ab";
}
.fa-snapchat-ghost:before {
  content: "\f2ac";
}
.fa-snapchat-square:before {
  content: "\f2ad";
}
.fa-pied-piper:before {
  content: "\f2ae";
}
.fa-first-order:before {
  content: "\f2b0";
}
.fa-yoast:before {
  content: "\f2b1";
}
.fa-themeisle:before {
  content: "\f2b2";
}
.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: "\f2b3";
}
.fa-fa:before,
.fa-font-awesome:before {
  content: "\f2b4";
}
.fa-handshake-o:before {
  content: "\f2b5";
}
.fa-envelope-open:before {
  content: "\f2b6";
}
.fa-envelope-open-o:before {
  content: "\f2b7";
}
.fa-linode:before {
  content: "\f2b8";
}
.fa-address-book:before {
  content: "\f2b9";
}
.fa-address-book-o:before {
  content: "\f2ba";
}
.fa-vcard:before,
.fa-address-card:before {
  content: "\f2bb";
}
.fa-vcard-o:before,
.fa-address-card-o:before {
  content: "\f2bc";
}
.fa-user-circle:before {
  content: "\f2bd";
}
.fa-user-circle-o:before {
  content: "\f2be";
}
.fa-user-o:before {
  content: "\f2c0";
}
.fa-id-badge:before {
  content: "\f2c1";
}
.fa-drivers-license:before,
.fa-id-card:before {
  content: "\f2c2";
}
.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: "\f2c3";
}
.fa-quora:before {
  content: "\f2c4";
}
.fa-free-code-camp:before {
  content: "\f2c5";
}
.fa-telegram:before {
  content: "\f2c6";
}
.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: "\f2c7";
}
.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: "\f2c8";
}
.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: "\f2c9";
}
.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: "\f2ca";
}
.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: "\f2cb";
}
.fa-shower:before {
  content: "\f2cc";
}
.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: "\f2cd";
}
.fa-podcast:before {
  content: "\f2ce";
}
.fa-window-maximize:before {
  content: "\f2d0";
}
.fa-window-minimize:before {
  content: "\f2d1";
}
.fa-window-restore:before {
  content: "\f2d2";
}
.fa-times-rectangle:before,
.fa-window-close:before {
  content: "\f2d3";
}
.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: "\f2d4";
}
.fa-bandcamp:before {
  content: "\f2d5";
}
.fa-grav:before {
  content: "\f2d6";
}
.fa-etsy:before {
  content: "\f2d7";
}
.fa-imdb:before {
  content: "\f2d8";
}
.fa-ravelry:before {
  content: "\f2d9";
}
.fa-eercast:before {
  content: "\f2da";
}
.fa-microchip:before {
  content: "\f2db";
}
.fa-snowflake-o:before {
  content: "\f2dc";
}
.fa-superpowers:before {
  content: "\f2dd";
}
.fa-wpexplorer:before {
  content: "\f2de";
}
.fa-meetup:before {
  content: "\f2e0";
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
/*!
*
* IPython base
*
*/
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
code {
  color: #000;
}
pre {
  font-size: inherit;
  line-height: inherit;
}
label {
  font-weight: normal;
}
/* Make the page background atleast 100% the height of the view port */
/* Make the page itself atleast 70% the height of the view port */
.border-box-sizing {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.corner-all {
  border-radius: 2px;
}
.no-padding {
  padding: 0px;
}
/* Flexible box model classes */
/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
/* This file is a compatability layer.  It allows the usage of flexible box 
model layouts accross multiple browsers, including older browsers.  The newest,
universal implementation of the flexible box model is used when available (see
`Modern browsers` comments below).  Browsers that are known to implement this 
new spec completely include:

    Firefox 28.0+
    Chrome 29.0+
    Internet Explorer 11+ 
    Opera 17.0+

Browsers not listed, including Safari, are supported via the styling under the
`Old browsers` comments below.
*/
.hbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
.hbox > * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.vbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.vbox > * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.hbox.reverse,
.vbox.reverse,
.reverse {
  /* Old browsers */
  -webkit-box-direction: reverse;
  -moz-box-direction: reverse;
  box-direction: reverse;
  /* Modern browsers */
  flex-direction: row-reverse;
}
.hbox.box-flex0,
.vbox.box-flex0,
.box-flex0 {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
  width: auto;
}
.hbox.box-flex1,
.vbox.box-flex1,
.box-flex1 {
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex,
.vbox.box-flex,
.box-flex {
  /* Old browsers */
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex2,
.vbox.box-flex2,
.box-flex2 {
  /* Old browsers */
  -webkit-box-flex: 2;
  -moz-box-flex: 2;
  box-flex: 2;
  /* Modern browsers */
  flex: 2;
}
.box-group1 {
  /*  Deprecated */
  -webkit-box-flex-group: 1;
  -moz-box-flex-group: 1;
  box-flex-group: 1;
}
.box-group2 {
  /* Deprecated */
  -webkit-box-flex-group: 2;
  -moz-box-flex-group: 2;
  box-flex-group: 2;
}
.hbox.start,
.vbox.start,
.start {
  /* Old browsers */
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  /* Modern browsers */
  justify-content: flex-start;
}
.hbox.end,
.vbox.end,
.end {
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
}
.hbox.center,
.vbox.center,
.center {
  /* Old browsers */
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  /* Modern browsers */
  justify-content: center;
}
.hbox.baseline,
.vbox.baseline,
.baseline {
  /* Old browsers */
  -webkit-box-pack: baseline;
  -moz-box-pack: baseline;
  box-pack: baseline;
  /* Modern browsers */
  justify-content: baseline;
}
.hbox.stretch,
.vbox.stretch,
.stretch {
  /* Old browsers */
  -webkit-box-pack: stretch;
  -moz-box-pack: stretch;
  box-pack: stretch;
  /* Modern browsers */
  justify-content: stretch;
}
.hbox.align-start,
.vbox.align-start,
.align-start {
  /* Old browsers */
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  /* Modern browsers */
  align-items: flex-start;
}
.hbox.align-end,
.vbox.align-end,
.align-end {
  /* Old browsers */
  -webkit-box-align: end;
  -moz-box-align: end;
  box-align: end;
  /* Modern browsers */
  align-items: flex-end;
}
.hbox.align-center,
.vbox.align-center,
.align-center {
  /* Old browsers */
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  /* Modern browsers */
  align-items: center;
}
.hbox.align-baseline,
.vbox.align-baseline,
.align-baseline {
  /* Old browsers */
  -webkit-box-align: baseline;
  -moz-box-align: baseline;
  box-align: baseline;
  /* Modern browsers */
  align-items: baseline;
}
.hbox.align-stretch,
.vbox.align-stretch,
.align-stretch {
  /* Old browsers */
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  /* Modern browsers */
  align-items: stretch;
}
div.error {
  margin: 2em;
  text-align: center;
}
div.error > h1 {
  font-size: 500%;
  line-height: normal;
}
div.error > p {
  font-size: 200%;
  line-height: normal;
}
div.traceback-wrapper {
  text-align: left;
  max-width: 800px;
  margin: auto;
}
div.traceback-wrapper pre.traceback {
  max-height: 600px;
  overflow: auto;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
body {
  background-color: #fff;
  /* This makes sure that the body covers the entire window and needs to
       be in a different element than the display: box in wrapper below */
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  overflow: visible;
}
body > #header {
  /* Initially hidden to prevent FLOUC */
  display: none;
  background-color: #fff;
  /* Display over codemirror */
  position: relative;
  z-index: 100;
}
body > #header #header-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 5px;
  padding-bottom: 5px;
  padding-top: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
body > #header .header-bar {
  width: 100%;
  height: 1px;
  background: #e7e7e7;
  margin-bottom: -1px;
}
@media print {
  body > #header {
    display: none !important;
  }
}
#header-spacer {
  width: 100%;
  visibility: hidden;
}
@media print {
  #header-spacer {
    display: none;
  }
}
#ipython_notebook {
  padding-left: 0px;
  padding-top: 1px;
  padding-bottom: 1px;
}
[dir="rtl"] #ipython_notebook {
  margin-right: 10px;
  margin-left: 0;
}
[dir="rtl"] #ipython_notebook.pull-left {
  float: right !important;
  float: right;
}
.flex-spacer {
  flex: 1;
}
#noscript {
  width: auto;
  padding-top: 16px;
  padding-bottom: 16px;
  text-align: center;
  font-size: 22px;
  color: red;
  font-weight: bold;
}
#ipython_notebook img {
  height: 28px;
}
#site {
  width: 100%;
  display: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow: auto;
}
@media print {
  #site {
    height: auto !important;
  }
}
/* Smaller buttons */
.ui-button .ui-button-text {
  padding: 0.2em 0.8em;
  font-size: 77%;
}
input.ui-button {
  padding: 0.3em 0.9em;
}
span#kernel_logo_widget {
  margin: 0 10px;
}
span#login_widget {
  float: right;
}
[dir="rtl"] span#login_widget {
  float: left;
}
span#login_widget > .button,
#logout {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget > .button:focus,
#logout:focus,
span#login_widget > .button.focus,
#logout.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
span#login_widget > .button:hover,
#logout:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget > .button:active:hover,
#logout:active:hover,
span#login_widget > .button.active:hover,
#logout.active:hover,
.open > .dropdown-togglespan#login_widget > .button:hover,
.open > .dropdown-toggle#logout:hover,
span#login_widget > .button:active:focus,
#logout:active:focus,
span#login_widget > .button.active:focus,
#logout.active:focus,
.open > .dropdown-togglespan#login_widget > .button:focus,
.open > .dropdown-toggle#logout:focus,
span#login_widget > .button:active.focus,
#logout:active.focus,
span#login_widget > .button.active.focus,
#logout.active.focus,
.open > .dropdown-togglespan#login_widget > .button.focus,
.open > .dropdown-toggle#logout.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
  background-image: none;
}
span#login_widget > .button.disabled:hover,
#logout.disabled:hover,
span#login_widget > .button[disabled]:hover,
#logout[disabled]:hover,
fieldset[disabled] span#login_widget > .button:hover,
fieldset[disabled] #logout:hover,
span#login_widget > .button.disabled:focus,
#logout.disabled:focus,
span#login_widget > .button[disabled]:focus,
#logout[disabled]:focus,
fieldset[disabled] span#login_widget > .button:focus,
fieldset[disabled] #logout:focus,
span#login_widget > .button.disabled.focus,
#logout.disabled.focus,
span#login_widget > .button[disabled].focus,
#logout[disabled].focus,
fieldset[disabled] span#login_widget > .button.focus,
fieldset[disabled] #logout.focus {
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget > .button .badge,
#logout .badge {
  color: #fff;
  background-color: #333;
}
.nav-header {
  text-transform: none;
}
#header > span {
  margin-top: 10px;
}
.modal_stretch .modal-dialog {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 80vh;
}
.modal_stretch .modal-dialog .modal-body {
  max-height: calc(100vh - 200px);
  overflow: auto;
  flex: 1;
}
.modal-header {
  cursor: move;
}
@media (min-width: 768px) {
  .modal .modal-dialog {
    width: 700px;
  }
}
@media (min-width: 768px) {
  select.form-control {
    margin-left: 12px;
    margin-right: 12px;
  }
}
/*!
*
* IPython auth
*
*/
.center-nav {
  display: inline-block;
  margin-bottom: -4px;
}
[dir="rtl"] .center-nav form.pull-left {
  float: right !important;
  float: right;
}
[dir="rtl"] .center-nav .navbar-text {
  float: right;
}
[dir="rtl"] .navbar-inner {
  text-align: right;
}
[dir="rtl"] div.text-left {
  text-align: right;
}
/*!
*
* IPython tree view
*
*/
/* We need an invisible input field on top of the sentense*/
/* "Drag file onto the list ..." */
.alternate_upload {
  background-color: none;
  display: inline;
}
.alternate_upload.form {
  padding: 0;
  margin: 0;
}
.alternate_upload input.fileinput {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  cursor: pointer;
  opacity: 0;
  z-index: 2;
}
.alternate_upload .btn-xs > input.fileinput {
  margin: -1px -5px;
}
.alternate_upload .btn-upload {
  position: relative;
  height: 22px;
}
::-webkit-file-upload-button {
  cursor: pointer;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
ul#tabs {
  margin-bottom: 4px;
}
ul#tabs a {
  padding-top: 6px;
  padding-bottom: 4px;
}
[dir="rtl"] ul#tabs.nav-tabs > li {
  float: right;
}
[dir="rtl"] ul#tabs.nav.nav-tabs {
  padding-right: 0;
}
ul.breadcrumb a:focus,
ul.breadcrumb a:hover {
  text-decoration: none;
}
ul.breadcrumb i.icon-home {
  font-size: 16px;
  margin-right: 4px;
}
ul.breadcrumb span {
  color: #5e5e5e;
}
.list_toolbar {
  padding: 4px 0 4px 0;
  vertical-align: middle;
}
.list_toolbar .tree-buttons {
  padding-top: 1px;
}
[dir="rtl"] .list_toolbar .tree-buttons .pull-right {
  float: left !important;
  float: left;
}
[dir="rtl"] .list_toolbar .col-sm-4,
[dir="rtl"] .list_toolbar .col-sm-8 {
  float: right;
}
.dynamic-buttons {
  padding-top: 3px;
  display: inline-block;
}
.list_toolbar [class*="span"] {
  min-height: 24px;
}
.list_header {
  font-weight: bold;
  background-color: #EEE;
}
.list_placeholder {
  font-weight: bold;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
}
.list_container {
  margin-top: 4px;
  margin-bottom: 20px;
  border: 1px solid #ddd;
  border-radius: 2px;
}
.list_container > div {
  border-bottom: 1px solid #ddd;
}
.list_container > div:hover .list-item {
  background-color: red;
}
.list_container > div:last-child {
  border: none;
}
.list_item:hover .list_item {
  background-color: #ddd;
}
.list_item a {
  text-decoration: none;
}
.list_item:hover {
  background-color: #fafafa;
}
.list_header > div,
.list_item > div {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
.list_header > div input,
.list_item > div input {
  margin-right: 7px;
  margin-left: 14px;
  vertical-align: text-bottom;
  line-height: 22px;
  position: relative;
  top: -1px;
}
.list_header > div .item_link,
.list_item > div .item_link {
  margin-left: -1px;
  vertical-align: baseline;
  line-height: 22px;
}
[dir="rtl"] .list_item > div input {
  margin-right: 0;
}
.new-file input[type=checkbox] {
  visibility: hidden;
}
.item_name {
  line-height: 22px;
  height: 24px;
}
.item_icon {
  font-size: 14px;
  color: #5e5e5e;
  margin-right: 7px;
  margin-left: 7px;
  line-height: 22px;
  vertical-align: baseline;
}
.item_modified {
  margin-right: 7px;
  margin-left: 7px;
}
[dir="rtl"] .item_modified.pull-right {
  float: left !important;
  float: left;
}
.item_buttons {
  line-height: 1em;
  margin-left: -5px;
}
.item_buttons .btn,
.item_buttons .btn-group,
.item_buttons .input-group {
  float: left;
}
.item_buttons > .btn,
.item_buttons > .btn-group,
.item_buttons > .input-group {
  margin-left: 5px;
}
.item_buttons .btn {
  min-width: 13ex;
}
.item_buttons .running-indicator {
  padding-top: 4px;
  color: #5cb85c;
}
.item_buttons .kernel-name {
  padding-top: 4px;
  color: #5bc0de;
  margin-right: 7px;
  float: left;
}
[dir="rtl"] .item_buttons.pull-right {
  float: left !important;
  float: left;
}
[dir="rtl"] .item_buttons .kernel-name {
  margin-left: 7px;
  float: right;
}
.toolbar_info {
  height: 24px;
  line-height: 24px;
}
.list_item input:not([type=checkbox]) {
  padding-top: 3px;
  padding-bottom: 3px;
  height: 22px;
  line-height: 14px;
  margin: 0px;
}
.highlight_text {
  color: blue;
}
#project_name {
  display: inline-block;
  padding-left: 7px;
  margin-left: -2px;
}
#project_name > .breadcrumb {
  padding: 0px;
  margin-bottom: 0px;
  background-color: transparent;
  font-weight: bold;
}
.sort_button {
  display: inline-block;
  padding-left: 7px;
}
[dir="rtl"] .sort_button.pull-right {
  float: left !important;
  float: left;
}
#tree-selector {
  padding-right: 0px;
}
#button-select-all {
  min-width: 50px;
}
[dir="rtl"] #button-select-all.btn {
  float: right ;
}
#select-all {
  margin-left: 7px;
  margin-right: 2px;
  margin-top: 2px;
  height: 16px;
}
[dir="rtl"] #select-all.pull-left {
  float: right !important;
  float: right;
}
.menu_icon {
  margin-right: 2px;
}
.tab-content .row {
  margin-left: 0px;
  margin-right: 0px;
}
.folder_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f114";
}
.folder_icon:before.fa-pull-left {
  margin-right: .3em;
}
.folder_icon:before.fa-pull-right {
  margin-left: .3em;
}
.folder_icon:before.pull-left {
  margin-right: .3em;
}
.folder_icon:before.pull-right {
  margin-left: .3em;
}
.notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f02d";
  position: relative;
  top: -1px;
}
.notebook_icon:before.fa-pull-left {
  margin-right: .3em;
}
.notebook_icon:before.fa-pull-right {
  margin-left: .3em;
}
.notebook_icon:before.pull-left {
  margin-right: .3em;
}
.notebook_icon:before.pull-right {
  margin-left: .3em;
}
.running_notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f02d";
  position: relative;
  top: -1px;
  color: #5cb85c;
}
.running_notebook_icon:before.fa-pull-left {
  margin-right: .3em;
}
.running_notebook_icon:before.fa-pull-right {
  margin-left: .3em;
}
.running_notebook_icon:before.pull-left {
  margin-right: .3em;
}
.running_notebook_icon:before.pull-right {
  margin-left: .3em;
}
.file_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f016";
  position: relative;
  top: -2px;
}
.file_icon:before.fa-pull-left {
  margin-right: .3em;
}
.file_icon:before.fa-pull-right {
  margin-left: .3em;
}
.file_icon:before.pull-left {
  margin-right: .3em;
}
.file_icon:before.pull-right {
  margin-left: .3em;
}
#notebook_toolbar .pull-right {
  padding-top: 0px;
  margin-right: -1px;
}
ul#new-menu {
  left: auto;
  right: 0;
}
#new-menu .dropdown-header {
  font-size: 10px;
  border-bottom: 1px solid #e5e5e5;
  padding: 0 0 3px;
  margin: -3px 20px 0;
}
.kernel-menu-icon {
  padding-right: 12px;
  width: 24px;
  content: "\f096";
}
.kernel-menu-icon:before {
  content: "\f096";
}
.kernel-menu-icon-current:before {
  content: "\f00c";
}
#tab_content {
  padding-top: 20px;
}
#running .panel-group .panel {
  margin-top: 3px;
  margin-bottom: 1em;
}
#running .panel-group .panel .panel-heading {
  background-color: #EEE;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
#running .panel-group .panel .panel-heading a:focus,
#running .panel-group .panel .panel-heading a:hover {
  text-decoration: none;
}
#running .panel-group .panel .panel-body {
  padding: 0px;
}
#running .panel-group .panel .panel-body .list_container {
  margin-top: 0px;
  margin-bottom: 0px;
  border: 0px;
  border-radius: 0px;
}
#running .panel-group .panel .panel-body .list_container .list_item {
  border-bottom: 1px solid #ddd;
}
#running .panel-group .panel .panel-body .list_container .list_item:last-child {
  border-bottom: 0px;
}
.delete-button {
  display: none;
}
.duplicate-button {
  display: none;
}
.rename-button {
  display: none;
}
.move-button {
  display: none;
}
.download-button {
  display: none;
}
.shutdown-button {
  display: none;
}
.dynamic-instructions {
  display: inline-block;
  padding-top: 4px;
}
/*!
*
* IPython text editor webapp
*
*/
.selected-keymap i.fa {
  padding: 0px 5px;
}
.selected-keymap i.fa:before {
  content: "\f00c";
}
#mode-menu {
  overflow: auto;
  max-height: 20em;
}
.edit_app #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.edit_app #menubar .navbar {
  /* Use a negative 1 bottom margin, so the border overlaps the border of the
    header */
  margin-bottom: -1px;
}
.dirty-indicator {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator.fa-pull-left {
  margin-right: .3em;
}
.dirty-indicator.fa-pull-right {
  margin-left: .3em;
}
.dirty-indicator.pull-left {
  margin-right: .3em;
}
.dirty-indicator.pull-right {
  margin-left: .3em;
}
.dirty-indicator-dirty {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-dirty.fa-pull-left {
  margin-right: .3em;
}
.dirty-indicator-dirty.fa-pull-right {
  margin-left: .3em;
}
.dirty-indicator-dirty.pull-left {
  margin-right: .3em;
}
.dirty-indicator-dirty.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-clean.fa-pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean.fa-pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f00c";
}
.dirty-indicator-clean:before.fa-pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean:before.fa-pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean:before.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean:before.pull-right {
  margin-left: .3em;
}
#filename {
  font-size: 16pt;
  display: table;
  padding: 0px 5px;
}
#current-mode {
  padding-left: 5px;
  padding-right: 5px;
}
#texteditor-backdrop {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media not print {
  #texteditor-backdrop {
    background-color: #EEE;
  }
}
@media print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container {
    padding: 0px;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
.CodeMirror-dialog {
  background-color: #fff;
}
/*!
*
* IPython notebook
*
*/
/* CSS font colors for translated ANSI escape sequences */
/* The color values are a mix of
   http://www.xcolors.net/dl/baskerville-ivorylight and
   http://www.xcolors.net/dl/euphrasia */
.ansi-black-fg {
  color: #3E424D;
}
.ansi-black-bg {
  background-color: #3E424D;
}
.ansi-black-intense-fg {
  color: #282C36;
}
.ansi-black-intense-bg {
  background-color: #282C36;
}
.ansi-red-fg {
  color: #E75C58;
}
.ansi-red-bg {
  background-color: #E75C58;
}
.ansi-red-intense-fg {
  color: #B22B31;
}
.ansi-red-intense-bg {
  background-color: #B22B31;
}
.ansi-green-fg {
  color: #00A250;
}
.ansi-green-bg {
  background-color: #00A250;
}
.ansi-green-intense-fg {
  color: #007427;
}
.ansi-green-intense-bg {
  background-color: #007427;
}
.ansi-yellow-fg {
  color: #DDB62B;
}
.ansi-yellow-bg {
  background-color: #DDB62B;
}
.ansi-yellow-intense-fg {
  color: #B27D12;
}
.ansi-yellow-intense-bg {
  background-color: #B27D12;
}
.ansi-blue-fg {
  color: #208FFB;
}
.ansi-blue-bg {
  background-color: #208FFB;
}
.ansi-blue-intense-fg {
  color: #0065CA;
}
.ansi-blue-intense-bg {
  background-color: #0065CA;
}
.ansi-magenta-fg {
  color: #D160C4;
}
.ansi-magenta-bg {
  background-color: #D160C4;
}
.ansi-magenta-intense-fg {
  color: #A03196;
}
.ansi-magenta-intense-bg {
  background-color: #A03196;
}
.ansi-cyan-fg {
  color: #60C6C8;
}
.ansi-cyan-bg {
  background-color: #60C6C8;
}
.ansi-cyan-intense-fg {
  color: #258F8F;
}
.ansi-cyan-intense-bg {
  background-color: #258F8F;
}
.ansi-white-fg {
  color: #C5C1B4;
}
.ansi-white-bg {
  background-color: #C5C1B4;
}
.ansi-white-intense-fg {
  color: #A1A6B2;
}
.ansi-white-intense-bg {
  background-color: #A1A6B2;
}
.ansi-default-inverse-fg {
  color: #FFFFFF;
}
.ansi-default-inverse-bg {
  background-color: #000000;
}
.ansi-bold {
  font-weight: bold;
}
.ansi-underline {
  text-decoration: underline;
}
/* The following styles are deprecated an will be removed in a future version */
.ansibold {
  font-weight: bold;
}
.ansi-inverse {
  outline: 0.5px dotted;
}
/* use dark versions for foreground, to improve visibility */
.ansiblack {
  color: black;
}
.ansired {
  color: darkred;
}
.ansigreen {
  color: darkgreen;
}
.ansiyellow {
  color: #c4a000;
}
.ansiblue {
  color: darkblue;
}
.ansipurple {
  color: darkviolet;
}
.ansicyan {
  color: steelblue;
}
.ansigray {
  color: gray;
}
/* and light for background, for the same reason */
.ansibgblack {
  background-color: black;
}
.ansibgred {
  background-color: red;
}
.ansibggreen {
  background-color: green;
}
.ansibgyellow {
  background-color: yellow;
}
.ansibgblue {
  background-color: blue;
}
.ansibgpurple {
  background-color: magenta;
}
.ansibgcyan {
  background-color: cyan;
}
.ansibggray {
  background-color: gray;
}
div.cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border-radius: 2px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  width: 100%;
  padding: 5px;
  /* This acts as a spacer between cells, that is outside the border */
  margin: 0px;
  outline: none;
  position: relative;
  overflow: visible;
}
div.cell:before {
  position: absolute;
  display: block;
  top: -1px;
  left: -1px;
  width: 5px;
  height: calc(100% +  2px);
  content: '';
  background: transparent;
}
div.cell.jupyter-soft-selected {
  border-left-color: #E3F2FD;
  border-left-width: 1px;
  padding-left: 5px;
  border-right-color: #E3F2FD;
  border-right-width: 1px;
  background: #E3F2FD;
}
@media print {
  div.cell.jupyter-soft-selected {
    border-color: transparent;
  }
}
div.cell.selected,
div.cell.selected.jupyter-soft-selected {
  border-color: #ababab;
}
div.cell.selected:before,
div.cell.selected.jupyter-soft-selected:before {
  position: absolute;
  display: block;
  top: -1px;
  left: -1px;
  width: 5px;
  height: calc(100% +  2px);
  content: '';
  background: #42A5F5;
}
@media print {
  div.cell.selected,
  div.cell.selected.jupyter-soft-selected {
    border-color: transparent;
  }
}
.edit_mode div.cell.selected {
  border-color: #66BB6A;
}
.edit_mode div.cell.selected:before {
  position: absolute;
  display: block;
  top: -1px;
  left: -1px;
  width: 5px;
  height: calc(100% +  2px);
  content: '';
  background: #66BB6A;
}
@media print {
  .edit_mode div.cell.selected {
    border-color: transparent;
  }
}
.prompt {
  /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
  min-width: 14ex;
  /* This padding is tuned to match the padding on the CodeMirror editor. */
  padding: 0.4em;
  margin: 0px;
  font-family: monospace;
  text-align: right;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
  /* Don't highlight prompt number selection */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Use default cursor */
  cursor: default;
}
@media (max-width: 540px) {
  .prompt {
    text-align: left;
  }
}
div.inner_cell {
  min-width: 0;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  background: #f7f7f7;
  line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
   is no content in the output_subarea and the prompt. The main purpose of this is
   to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
  padding-top: 0;
  padding-bottom: 0;
}
div.unrecognized_cell {
  padding: 5px 5px 5px 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.unrecognized_cell .inner_cell {
  border-radius: 2px;
  padding: 5px;
  font-weight: bold;
  color: red;
  border: 1px solid #cfcfcf;
  background: #eaeaea;
}
div.unrecognized_cell .inner_cell a {
  color: inherit;
  text-decoration: none;
}
div.unrecognized_cell .inner_cell a:hover {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 540px) {
  div.unrecognized_cell > div.prompt {
    display: none;
  }
}
div.code_cell {
  /* avoid page breaking on code cells when printing */
}
@media print {
  div.code_cell {
    page-break-inside: avoid;
  }
}
/* any special styling for code cells that are currently running goes here */
div.input {
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.input {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
  color: #303F9F;
  border-top: 1px solid transparent;
}
div.input_area > div.highlight {
  margin: 0.4em;
  border: none;
  padding: 0px;
  background-color: transparent;
}
div.input_area > div.highlight > pre {
  margin: 0px;
  border: none;
  padding: 0px;
  background-color: transparent;
}
/* The following gets added to the <head> if it is detected that the user has a
 * monospace font with inconsistent normal/bold/italic height.  See
 * notebookmain.js.  Such fonts will have keywords vertically offset with
 * respect to the rest of the text.  The user should select a better font.
 * See: https://github.com/ipython/ipython/issues/1503
 *
 * .CodeMirror span {
 *      vertical-align: bottom;
 * }
 */
.CodeMirror {
  line-height: 1.21429em;
  /* Changed from 1em to our global default */
  font-size: 14px;
  height: auto;
  /* Changed to auto to autogrow */
  background: none;
  /* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
  /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
  /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/
  overflow-y: hidden;
  overflow-x: auto;
}
.CodeMirror-lines {
  /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
  /* we have set a different line-height and want this to scale with that. */
  /* Note that this should set vertical padding only, since CodeMirror assumes
       that horizontal padding will be set on CodeMirror pre */
  padding: 0.4em 0;
}
.CodeMirror-linenumber {
  padding: 0 8px 0 4px;
}
.CodeMirror-gutters {
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.CodeMirror pre {
  /* In CM3 this went to 4px from 0 in CM2. This sets horizontal padding only,
    use .CodeMirror-lines for vertical */
  padding: 0 0.4em;
  border: 0;
  border-radius: 0;
}
.CodeMirror-cursor {
  border-left: 1.4px solid black;
}
@media screen and (min-width: 2138px) and (max-width: 4319px) {
  .CodeMirror-cursor {
    border-left: 2px solid black;
  }
}
@media screen and (min-width: 4320px) {
  .CodeMirror-cursor {
    border-left: 4px solid black;
  }
}
/*

Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
Adapted from GitHub theme

*/
.highlight-base {
  color: #000;
}
.highlight-variable {
  color: #000;
}
.highlight-variable-2 {
  color: #1a1a1a;
}
.highlight-variable-3 {
  color: #333333;
}
.highlight-string {
  color: #BA2121;
}
.highlight-comment {
  color: #408080;
  font-style: italic;
}
.highlight-number {
  color: #080;
}
.highlight-atom {
  color: #88F;
}
.highlight-keyword {
  color: #008000;
  font-weight: bold;
}
.highlight-builtin {
  color: #008000;
}
.highlight-error {
  color: #f00;
}
.highlight-operator {
  color: #AA22FF;
  font-weight: bold;
}
.highlight-meta {
  color: #AA22FF;
}
/* previously not defined, copying from default codemirror */
.highlight-def {
  color: #00f;
}
.highlight-string-2 {
  color: #f50;
}
.highlight-qualifier {
  color: #555;
}
.highlight-bracket {
  color: #997;
}
.highlight-tag {
  color: #170;
}
.highlight-attribute {
  color: #00c;
}
.highlight-header {
  color: blue;
}
.highlight-quote {
  color: #090;
}
.highlight-link {
  color: #00c;
}
/* apply the same style to codemirror */
.cm-s-ipython span.cm-keyword {
  color: #008000;
  font-weight: bold;
}
.cm-s-ipython span.cm-atom {
  color: #88F;
}
.cm-s-ipython span.cm-number {
  color: #080;
}
.cm-s-ipython span.cm-def {
  color: #00f;
}
.cm-s-ipython span.cm-variable {
  color: #000;
}
.cm-s-ipython span.cm-operator {
  color: #AA22FF;
  font-weight: bold;
}
.cm-s-ipython span.cm-variable-2 {
  color: #1a1a1a;
}
.cm-s-ipython span.cm-variable-3 {
  color: #333333;
}
.cm-s-ipython span.cm-comment {
  color: #408080;
  font-style: italic;
}
.cm-s-ipython span.cm-string {
  color: #BA2121;
}
.cm-s-ipython span.cm-string-2 {
  color: #f50;
}
.cm-s-ipython span.cm-meta {
  color: #AA22FF;
}
.cm-s-ipython span.cm-qualifier {
  color: #555;
}
.cm-s-ipython span.cm-builtin {
  color: #008000;
}
.cm-s-ipython span.cm-bracket {
  color: #997;
}
.cm-s-ipython span.cm-tag {
  color: #170;
}
.cm-s-ipython span.cm-attribute {
  color: #00c;
}
.cm-s-ipython span.cm-header {
  color: blue;
}
.cm-s-ipython span.cm-quote {
  color: #090;
}
.cm-s-ipython span.cm-link {
  color: #00c;
}
.cm-s-ipython span.cm-error {
  color: #f00;
}
.cm-s-ipython span.cm-tab {
  background: url();
  background-position: right;
  background-repeat: no-repeat;
}
div.output_wrapper {
  /* this position must be relative to enable descendents to be absolute within it */
  position: relative;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  z-index: 1;
}
/* class for the output area when it should be height-limited */
div.output_scroll {
  /* ideally, this would be max-height, but FF barfs all over that */
  height: 24em;
  /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
  width: 100%;
  overflow: auto;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  display: block;
}
/* output div while it is collapsed */
div.output_collapsed {
  margin: 0px;
  padding: 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
div.out_prompt_overlay {
  height: 100%;
  padding: 0px 0.4em;
  position: absolute;
  border-radius: 2px;
}
div.out_prompt_overlay:hover {
  /* use inner shadow to get border that is computed the same on WebKit/FF */
  -webkit-box-shadow: inset 0 0 1px #000;
  box-shadow: inset 0 0 1px #000;
  background: rgba(240, 240, 240, 0.5);
}
div.output_prompt {
  color: #D84315;
}
/* This class is the outer container of all output sections. */
div.output_area {
  padding: 0px;
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.output_area .MathJax_Display {
  text-align: left !important;
}
div.output_area .rendered_html table {
  margin-left: 0;
  margin-right: 0;
}
div.output_area .rendered_html img {
  margin-left: 0;
  margin-right: 0;
}
div.output_area img,
div.output_area svg {
  max-width: 100%;
  height: auto;
}
div.output_area img.unconfined,
div.output_area svg.unconfined {
  max-width: none;
}
div.output_area .mglyph > img {
  max-width: none;
}
/* This is needed to protect the pre formating from global settings such
   as that of bootstrap */
.output {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.output_area {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
div.output_area pre {
  margin: 0;
  padding: 1px 0 1px 0;
  border: 0;
  vertical-align: baseline;
  color: black;
  background-color: transparent;
  border-radius: 0;
}
/* This class is for the output subarea inside the output_area and after
   the prompt div. */
div.output_subarea {
  overflow-x: auto;
  padding: 0.4em;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
  max-width: calc(100% - 14ex);
}
div.output_scroll div.output_subarea {
  overflow-x: visible;
}
/* The rest of the output_* classes are for special styling of the different
   output types */
/* all text output has this class: */
div.output_text {
  text-align: left;
  color: #000;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
}
/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
div.output_stderr {
  background: #fdd;
  /* very light red background for stderr */
}
div.output_latex {
  text-align: left;
}
/* Empty output_javascript divs should have no height */
div.output_javascript:empty {
  padding: 0;
}
.js-error {
  color: darkred;
}
/* raw_input styles */
div.raw_input_container {
  line-height: 1.21429em;
  padding-top: 5px;
}
pre.raw_input_prompt {
  /* nothing needed here. */
}
input.raw_input {
  font-family: monospace;
  font-size: inherit;
  color: inherit;
  width: auto;
  /* make sure input baseline aligns with prompt */
  vertical-align: baseline;
  /* padding + margin = 0.5em between prompt and cursor */
  padding: 0em 0.25em;
  margin: 0em 0.25em;
}
input.raw_input:focus {
  box-shadow: none;
}
p.p-space {
  margin-bottom: 10px;
}
div.output_unrecognized {
  padding: 5px;
  font-weight: bold;
  color: red;
}
div.output_unrecognized a {
  color: inherit;
  text-decoration: none;
}
div.output_unrecognized a:hover {
  color: inherit;
  text-decoration: none;
}
.rendered_html {
  color: #000;
  /* any extras will just be numbers: */
}
.rendered_html em {
  font-style: italic;
}
.rendered_html strong {
  font-weight: bold;
}
.rendered_html u {
  text-decoration: underline;
}
.rendered_html :link {
  text-decoration: underline;
}
.rendered_html :visited {
  text-decoration: underline;
}
.rendered_html h1 {
  font-size: 185.7%;
  margin: 1.08em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h2 {
  font-size: 157.1%;
  margin: 1.27em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h3 {
  font-size: 128.6%;
  margin: 1.55em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h4 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h5 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h6 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h1:first-child {
  margin-top: 0.538em;
}
.rendered_html h2:first-child {
  margin-top: 0.636em;
}
.rendered_html h3:first-child {
  margin-top: 0.777em;
}
.rendered_html h4:first-child {
  margin-top: 1em;
}
.rendered_html h5:first-child {
  margin-top: 1em;
}
.rendered_html h6:first-child {
  margin-top: 1em;
}
.rendered_html ul:not(.list-inline),
.rendered_html ol:not(.list-inline) {
  padding-left: 2em;
}
.rendered_html ul {
  list-style: disc;
}
.rendered_html ul ul {
  list-style: square;
  margin-top: 0;
}
.rendered_html ul ul ul {
  list-style: circle;
}
.rendered_html ol {
  list-style: decimal;
}
.rendered_html ol ol {
  list-style: upper-alpha;
  margin-top: 0;
}
.rendered_html ol ol ol {
  list-style: lower-alpha;
}
.rendered_html ol ol ol ol {
  list-style: lower-roman;
}
.rendered_html ol ol ol ol ol {
  list-style: decimal;
}
.rendered_html * + ul {
  margin-top: 1em;
}
.rendered_html * + ol {
  margin-top: 1em;
}
.rendered_html hr {
  color: black;
  background-color: black;
}
.rendered_html pre {
  margin: 1em 2em;
  padding: 0px;
  background-color: #fff;
}
.rendered_html code {
  background-color: #eff0f1;
}
.rendered_html p code {
  padding: 1px 5px;
}
.rendered_html pre code {
  background-color: #fff;
}
.rendered_html pre,
.rendered_html code {
  border: 0;
  color: #000;
  font-size: 100%;
}
.rendered_html blockquote {
  margin: 1em 2em;
}
.rendered_html table {
  margin-left: auto;
  margin-right: auto;
  border: none;
  border-collapse: collapse;
  border-spacing: 0;
  color: black;
  font-size: 12px;
  table-layout: fixed;
}
.rendered_html thead {
  border-bottom: 1px solid black;
  vertical-align: bottom;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
  text-align: right;
  vertical-align: middle;
  padding: 0.5em 0.5em;
  line-height: normal;
  white-space: normal;
  max-width: none;
  border: none;
}
.rendered_html th {
  font-weight: bold;
}
.rendered_html tbody tr:nth-child(odd) {
  background: #f5f5f5;
}
.rendered_html tbody tr:hover {
  background: rgba(66, 165, 245, 0.2);
}
.rendered_html * + table {
  margin-top: 1em;
}
.rendered_html p {
  text-align: left;
}
.rendered_html * + p {
  margin-top: 1em;
}
.rendered_html img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.rendered_html * + img {
  margin-top: 1em;
}
.rendered_html img,
.rendered_html svg {
  max-width: 100%;
  height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
  max-width: none;
}
.rendered_html .alert {
  margin-bottom: initial;
}
.rendered_html * + .alert {
  margin-top: 1em;
}
[dir="rtl"] .rendered_html p {
  text-align: right;
}
div.text_cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.text_cell > div.prompt {
    display: none;
  }
}
div.text_cell_render {
  /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
  outline: none;
  resize: none;
  width: inherit;
  border-style: none;
  padding: 0.5em 0.5em 0.5em 0.4em;
  color: #000;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
a.anchor-link:link {
  text-decoration: none;
  padding: 0px 20px;
  visibility: hidden;
}
h1:hover .anchor-link,
h2:hover .anchor-link,
h3:hover .anchor-link,
h4:hover .anchor-link,
h5:hover .anchor-link,
h6:hover .anchor-link {
  visibility: visible;
}
.text_cell.rendered .input_area {
  display: none;
}
.text_cell.rendered .rendered_html {
  overflow-x: auto;
  overflow-y: hidden;
}
.text_cell.rendered .rendered_html tr,
.text_cell.rendered .rendered_html th,
.text_cell.rendered .rendered_html td {
  max-width: none;
}
.text_cell.unrendered .text_cell_render {
  display: none;
}
.text_cell .dropzone .input_area {
  border: 2px dashed #bababa;
  margin: -1px;
}
.cm-header-1,
.cm-header-2,
.cm-header-3,
.cm-header-4,
.cm-header-5,
.cm-header-6 {
  font-weight: bold;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.cm-header-1 {
  font-size: 185.7%;
}
.cm-header-2 {
  font-size: 157.1%;
}
.cm-header-3 {
  font-size: 128.6%;
}
.cm-header-4 {
  font-size: 110%;
}
.cm-header-5 {
  font-size: 100%;
  font-style: italic;
}
.cm-header-6 {
  font-size: 100%;
  font-style: italic;
}
/*!
*
* IPython notebook webapp
*
*/
@media (max-width: 767px) {
  .notebook_app {
    padding-left: 0px;
    padding-right: 0px;
  }
}
#ipython-main-app {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook_panel {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook {
  font-size: 14px;
  line-height: 20px;
  overflow-y: hidden;
  overflow-x: auto;
  width: 100%;
  /* This spaces the page away from the edge of the notebook area */
  padding-top: 20px;
  margin: 0px;
  outline: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  min-height: 100%;
}
@media not print {
  #notebook-container {
    padding: 15px;
    background-color: #fff;
    min-height: 0;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
@media print {
  #notebook-container {
    width: 100%;
  }
}
div.ui-widget-content {
  border: 1px solid #ababab;
  outline: none;
}
pre.dialog {
  background-color: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding: 0.4em;
  padding-left: 2em;
}
p.dialog {
  padding: 0.2em;
}
/* Word-wrap output correctly.  This is the CSS3 spelling, though Firefox seems
   to not honor it correctly.  Webkit browsers (Chrome, rekonq, Safari) do.
 */
pre,
code,
kbd,
samp {
  white-space: pre-wrap;
}
#fonttest {
  font-family: monospace;
}
p {
  margin-bottom: 0;
}
.end_space {
  min-height: 100px;
  transition: height .2s ease;
}
.notebook_app > #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
@media not print {
  .notebook_app {
    background-color: #EEE;
  }
}
kbd {
  border-style: solid;
  border-width: 1px;
  box-shadow: none;
  margin: 2px;
  padding-left: 2px;
  padding-right: 2px;
  padding-top: 1px;
  padding-bottom: 1px;
}
.jupyter-keybindings {
  padding: 1px;
  line-height: 24px;
  border-bottom: 1px solid gray;
}
.jupyter-keybindings input {
  margin: 0;
  padding: 0;
  border: none;
}
.jupyter-keybindings i {
  padding: 6px;
}
.well code {
  background-color: #ffffff;
  border-color: #ababab;
  border-width: 1px;
  border-style: solid;
  padding: 2px;
  padding-top: 1px;
  padding-bottom: 1px;
}
/* CSS for the cell toolbar */
.celltoolbar {
  border: thin solid #CFCFCF;
  border-bottom: none;
  background: #EEE;
  border-radius: 2px 2px 0px 0px;
  width: 100%;
  height: 29px;
  padding-right: 4px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
  display: -webkit-flex;
}
@media print {
  .celltoolbar {
    display: none;
  }
}
.ctb_hideshow {
  display: none;
  vertical-align: bottom;
}
/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
   Cell toolbars are only shown when the ctb_global_show class is also set.
*/
.ctb_global_show .ctb_show.ctb_hideshow {
  display: block;
}
.ctb_global_show .ctb_show + .input_area,
.ctb_global_show .ctb_show + div.text_cell_input,
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border-top-right-radius: 0px;
  border-top-left-radius: 0px;
}
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border: 1px solid #cfcfcf;
}
.celltoolbar {
  font-size: 87%;
  padding-top: 3px;
}
.celltoolbar select {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
  width: inherit;
  font-size: inherit;
  height: 22px;
  padding: 0px;
  display: inline-block;
}
.celltoolbar select:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.celltoolbar select::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.celltoolbar select:-ms-input-placeholder {
  color: #999;
}
.celltoolbar select::-webkit-input-placeholder {
  color: #999;
}
.celltoolbar select::-ms-expand {
  border: 0;
  background-color: transparent;
}
.celltoolbar select[disabled],
.celltoolbar select[readonly],
fieldset[disabled] .celltoolbar select {
  background-color: #eeeeee;
  opacity: 1;
}
.celltoolbar select[disabled],
fieldset[disabled] .celltoolbar select {
  cursor: not-allowed;
}
textarea.celltoolbar select {
  height: auto;
}
select.celltoolbar select {
  height: 30px;
  line-height: 30px;
}
textarea.celltoolbar select,
select[multiple].celltoolbar select {
  height: auto;
}
.celltoolbar label {
  margin-left: 5px;
  margin-right: 5px;
}
.tags_button_container {
  width: 100%;
  display: flex;
}
.tag-container {
  display: flex;
  flex-direction: row;
  flex-grow: 1;
  overflow: hidden;
  position: relative;
}
.tag-container > * {
  margin: 0 4px;
}
.remove-tag-btn {
  margin-left: 4px;
}
.tags-input {
  display: flex;
}
.cell-tag:last-child:after {
  content: "";
  position: absolute;
  right: 0;
  width: 40px;
  height: 100%;
  /* Fade to background color of cell toolbar */
  background: linear-gradient(to right, rgba(0, 0, 0, 0), #EEE);
}
.tags-input > * {
  margin-left: 4px;
}
.cell-tag,
.tags-input input,
.tags-input button {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
  box-shadow: none;
  width: inherit;
  font-size: inherit;
  height: 22px;
  line-height: 22px;
  padding: 0px 4px;
  display: inline-block;
}
.cell-tag:focus,
.tags-input input:focus,
.tags-input button:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.cell-tag::-moz-placeholder,
.tags-input input::-moz-placeholder,
.tags-input button::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.cell-tag:-ms-input-placeholder,
.tags-input input:-ms-input-placeholder,
.tags-input button:-ms-input-placeholder {
  color: #999;
}
.cell-tag::-webkit-input-placeholder,
.tags-input input::-webkit-input-placeholder,
.tags-input button::-webkit-input-placeholder {
  color: #999;
}
.cell-tag::-ms-expand,
.tags-input input::-ms-expand,
.tags-input button::-ms-expand {
  border: 0;
  background-color: transparent;
}
.cell-tag[disabled],
.tags-input input[disabled],
.tags-input button[disabled],
.cell-tag[readonly],
.tags-input input[readonly],
.tags-input button[readonly],
fieldset[disabled] .cell-tag,
fieldset[disabled] .tags-input input,
fieldset[disabled] .tags-input button {
  background-color: #eeeeee;
  opacity: 1;
}
.cell-tag[disabled],
.tags-input input[disabled],
.tags-input button[disabled],
fieldset[disabled] .cell-tag,
fieldset[disabled] .tags-input input,
fieldset[disabled] .tags-input button {
  cursor: not-allowed;
}
textarea.cell-tag,
textarea.tags-input input,
textarea.tags-input button {
  height: auto;
}
select.cell-tag,
select.tags-input input,
select.tags-input button {
  height: 30px;
  line-height: 30px;
}
textarea.cell-tag,
textarea.tags-input input,
textarea.tags-input button,
select[multiple].cell-tag,
select[multiple].tags-input input,
select[multiple].tags-input button {
  height: auto;
}
.cell-tag,
.tags-input button {
  padding: 0px 4px;
}
.cell-tag {
  background-color: #fff;
  white-space: nowrap;
}
.tags-input input[type=text]:focus {
  outline: none;
  box-shadow: none;
  border-color: #ccc;
}
.completions {
  position: absolute;
  z-index: 110;
  overflow: hidden;
  border: 1px solid #ababab;
  border-radius: 2px;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  line-height: 1;
}
.completions select {
  background: white;
  outline: none;
  border: none;
  padding: 0px;
  margin: 0px;
  overflow: auto;
  font-family: monospace;
  font-size: 110%;
  color: #000;
  width: auto;
}
.completions select option.context {
  color: #286090;
}
#kernel_logo_widget .current_kernel_logo {
  display: none;
  margin-top: -1px;
  margin-bottom: -1px;
  width: 32px;
  height: 32px;
}
[dir="rtl"] #kernel_logo_widget {
  float: left !important;
  float: left;
}
.modal .modal-body .move-path {
  display: flex;
  flex-direction: row;
  justify-content: space;
  align-items: center;
}
.modal .modal-body .move-path .server-root {
  padding-right: 20px;
}
.modal .modal-body .move-path .path-input {
  flex: 1;
}
#menubar {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  margin-top: 1px;
}
#menubar .navbar {
  border-top: 1px;
  border-radius: 0px 0px 2px 2px;
  margin-bottom: 0px;
}
#menubar .navbar-toggle {
  float: left;
  padding-top: 7px;
  padding-bottom: 7px;
  border: none;
}
#menubar .navbar-collapse {
  clear: left;
}
[dir="rtl"] #menubar .navbar-toggle {
  float: right;
}
[dir="rtl"] #menubar .navbar-collapse {
  clear: right;
}
[dir="rtl"] #menubar .navbar-nav {
  float: right;
}
[dir="rtl"] #menubar .nav {
  padding-right: 0px;
}
[dir="rtl"] #menubar .navbar-nav > li {
  float: right;
}
[dir="rtl"] #menubar .navbar-right {
  float: left !important;
}
[dir="rtl"] ul.dropdown-menu {
  text-align: right;
  left: auto;
}
[dir="rtl"] ul#new-menu.dropdown-menu {
  right: auto;
  left: 0;
}
.nav-wrapper {
  border-bottom: 1px solid #e7e7e7;
}
i.menu-icon {
  padding-top: 4px;
}
[dir="rtl"] i.menu-icon.pull-right {
  float: left !important;
  float: left;
}
ul#help_menu li a {
  overflow: hidden;
  padding-right: 2.2em;
}
ul#help_menu li a i {
  margin-right: -1.2em;
}
[dir="rtl"] ul#help_menu li a {
  padding-left: 2.2em;
}
[dir="rtl"] ul#help_menu li a i {
  margin-right: 0;
  margin-left: -1.2em;
}
[dir="rtl"] ul#help_menu li a i.pull-right {
  float: left !important;
  float: left;
}
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
}
[dir="rtl"] .dropdown-submenu > .dropdown-menu {
  right: 100%;
  margin-right: -1px;
}
.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}
.dropdown-submenu > a:after {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  content: "\f0da";
  float: right;
  color: #333333;
  margin-top: 2px;
  margin-right: -10px;
}
.dropdown-submenu > a:after.fa-pull-left {
  margin-right: .3em;
}
.dropdown-submenu > a:after.fa-pull-right {
  margin-left: .3em;
}
.dropdown-submenu > a:after.pull-left {
  margin-right: .3em;
}
.dropdown-submenu > a:after.pull-right {
  margin-left: .3em;
}
[dir="rtl"] .dropdown-submenu > a:after {
  float: left;
  content: "\f0d9";
  margin-right: 0;
  margin-left: -10px;
}
.dropdown-submenu:hover > a:after {
  color: #262626;
}
.dropdown-submenu.pull-left {
  float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
  left: -100%;
  margin-left: 10px;
}
#notification_area {
  float: right !important;
  float: right;
  z-index: 10;
}
[dir="rtl"] #notification_area {
  float: left !important;
  float: left;
}
.indicator_area {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
[dir="rtl"] .indicator_area {
  float: left !important;
  float: left;
}
#kernel_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  border-left: 1px solid;
}
#kernel_indicator .kernel_indicator_name {
  padding-left: 5px;
  padding-right: 5px;
}
[dir="rtl"] #kernel_indicator {
  float: left !important;
  float: left;
  border-left: 0;
  border-right: 1px solid;
}
#modal_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
[dir="rtl"] #modal_indicator {
  float: left !important;
  float: left;
}
#readonly-indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  margin-top: 2px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  display: none;
}
.modal_indicator:before {
  width: 1.28571429em;
  text-align: center;
}
.edit_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f040";
}
.edit_mode .modal_indicator:before.fa-pull-left {
  margin-right: .3em;
}
.edit_mode .modal_indicator:before.fa-pull-right {
  margin-left: .3em;
}
.edit_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.edit_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.command_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ' ';
}
.command_mode .modal_indicator:before.fa-pull-left {
  margin-right: .3em;
}
.command_mode .modal_indicator:before.fa-pull-right {
  margin-left: .3em;
}
.command_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.command_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.kernel_idle_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f10c";
}
.kernel_idle_icon:before.fa-pull-left {
  margin-right: .3em;
}
.kernel_idle_icon:before.fa-pull-right {
  margin-left: .3em;
}
.kernel_idle_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_idle_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_busy_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f111";
}
.kernel_busy_icon:before.fa-pull-left {
  margin-right: .3em;
}
.kernel_busy_icon:before.fa-pull-right {
  margin-left: .3em;
}
.kernel_busy_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_busy_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_dead_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f1e2";
}
.kernel_dead_icon:before.fa-pull-left {
  margin-right: .3em;
}
.kernel_dead_icon:before.fa-pull-right {
  margin-left: .3em;
}
.kernel_dead_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_dead_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_disconnected_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f127";
}
.kernel_disconnected_icon:before.fa-pull-left {
  margin-right: .3em;
}
.kernel_disconnected_icon:before.fa-pull-right {
  margin-left: .3em;
}
.kernel_disconnected_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_disconnected_icon:before.pull-right {
  margin-left: .3em;
}
.notification_widget {
  color: #777;
  z-index: 10;
  background: rgba(240, 240, 240, 0.5);
  margin-right: 4px;
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget:focus,
.notification_widget.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.notification_widget:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active:hover,
.notification_widget.active:hover,
.open > .dropdown-toggle.notification_widget:hover,
.notification_widget:active:focus,
.notification_widget.active:focus,
.open > .dropdown-toggle.notification_widget:focus,
.notification_widget:active.focus,
.notification_widget.active.focus,
.open > .dropdown-toggle.notification_widget.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
  background-image: none;
}
.notification_widget.disabled:hover,
.notification_widget[disabled]:hover,
fieldset[disabled] .notification_widget:hover,
.notification_widget.disabled:focus,
.notification_widget[disabled]:focus,
fieldset[disabled] .notification_widget:focus,
.notification_widget.disabled.focus,
.notification_widget[disabled].focus,
fieldset[disabled] .notification_widget.focus {
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget .badge {
  color: #fff;
  background-color: #333;
}
.notification_widget.warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning:focus,
.notification_widget.warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.notification_widget.warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active:hover,
.notification_widget.warning.active:hover,
.open > .dropdown-toggle.notification_widget.warning:hover,
.notification_widget.warning:active:focus,
.notification_widget.warning.active:focus,
.open > .dropdown-toggle.notification_widget.warning:focus,
.notification_widget.warning:active.focus,
.notification_widget.warning.active.focus,
.open > .dropdown-toggle.notification_widget.warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
  background-image: none;
}
.notification_widget.warning.disabled:hover,
.notification_widget.warning[disabled]:hover,
fieldset[disabled] .notification_widget.warning:hover,
.notification_widget.warning.disabled:focus,
.notification_widget.warning[disabled]:focus,
fieldset[disabled] .notification_widget.warning:focus,
.notification_widget.warning.disabled.focus,
.notification_widget.warning[disabled].focus,
fieldset[disabled] .notification_widget.warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.notification_widget.success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success:focus,
.notification_widget.success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.notification_widget.success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active:hover,
.notification_widget.success.active:hover,
.open > .dropdown-toggle.notification_widget.success:hover,
.notification_widget.success:active:focus,
.notification_widget.success.active:focus,
.open > .dropdown-toggle.notification_widget.success:focus,
.notification_widget.success:active.focus,
.notification_widget.success.active.focus,
.open > .dropdown-toggle.notification_widget.success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
  background-image: none;
}
.notification_widget.success.disabled:hover,
.notification_widget.success[disabled]:hover,
fieldset[disabled] .notification_widget.success:hover,
.notification_widget.success.disabled:focus,
.notification_widget.success[disabled]:focus,
fieldset[disabled] .notification_widget.success:focus,
.notification_widget.success.disabled.focus,
.notification_widget.success[disabled].focus,
fieldset[disabled] .notification_widget.success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.notification_widget.info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info:focus,
.notification_widget.info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.notification_widget.info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active:hover,
.notification_widget.info.active:hover,
.open > .dropdown-toggle.notification_widget.info:hover,
.notification_widget.info:active:focus,
.notification_widget.info.active:focus,
.open > .dropdown-toggle.notification_widget.info:focus,
.notification_widget.info:active.focus,
.notification_widget.info.active.focus,
.open > .dropdown-toggle.notification_widget.info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
  background-image: none;
}
.notification_widget.info.disabled:hover,
.notification_widget.info[disabled]:hover,
fieldset[disabled] .notification_widget.info:hover,
.notification_widget.info.disabled:focus,
.notification_widget.info[disabled]:focus,
fieldset[disabled] .notification_widget.info:focus,
.notification_widget.info.disabled.focus,
.notification_widget.info[disabled].focus,
fieldset[disabled] .notification_widget.info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.notification_widget.danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger:focus,
.notification_widget.danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.notification_widget.danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active:hover,
.notification_widget.danger.active:hover,
.open > .dropdown-toggle.notification_widget.danger:hover,
.notification_widget.danger:active:focus,
.notification_widget.danger.active:focus,
.open > .dropdown-toggle.notification_widget.danger:focus,
.notification_widget.danger:active.focus,
.notification_widget.danger.active.focus,
.open > .dropdown-toggle.notification_widget.danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
  background-image: none;
}
.notification_widget.danger.disabled:hover,
.notification_widget.danger[disabled]:hover,
fieldset[disabled] .notification_widget.danger:hover,
.notification_widget.danger.disabled:focus,
.notification_widget.danger[disabled]:focus,
fieldset[disabled] .notification_widget.danger:focus,
.notification_widget.danger.disabled.focus,
.notification_widget.danger[disabled].focus,
fieldset[disabled] .notification_widget.danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger .badge {
  color: #d9534f;
  background-color: #fff;
}
div#pager {
  background-color: #fff;
  font-size: 14px;
  line-height: 20px;
  overflow: hidden;
  display: none;
  position: fixed;
  bottom: 0px;
  width: 100%;
  max-height: 50%;
  padding-top: 8px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  /* Display over codemirror */
  z-index: 100;
  /* Hack which prevents jquery ui resizable from changing top. */
  top: auto !important;
}
div#pager pre {
  line-height: 1.21429em;
  color: #000;
  background-color: #f7f7f7;
  padding: 0.4em;
}
div#pager #pager-button-area {
  position: absolute;
  top: 8px;
  right: 20px;
}
div#pager #pager-contents {
  position: relative;
  overflow: auto;
  width: 100%;
  height: 100%;
}
div#pager #pager-contents #pager-container {
  position: relative;
  padding: 15px 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
div#pager .ui-resizable-handle {
  top: 0px;
  height: 8px;
  background: #f7f7f7;
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  /* This injects handle bars (a short, wide = symbol) for 
        the resize handle. */
}
div#pager .ui-resizable-handle::after {
  content: '';
  top: 2px;
  left: 50%;
  height: 3px;
  width: 30px;
  margin-left: -15px;
  position: absolute;
  border-top: 1px solid #cfcfcf;
}
.quickhelp {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  line-height: 1.8em;
}
.shortcut_key {
  display: inline-block;
  width: 21ex;
  text-align: right;
  font-family: monospace;
}
.shortcut_descr {
  display: inline-block;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
span.save_widget {
  height: 30px;
  margin-top: 4px;
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  width: 50%;
  flex: 1;
}
span.save_widget span.filename {
  height: 100%;
  line-height: 1em;
  margin-left: 16px;
  border: none;
  font-size: 146.5%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  border-radius: 2px;
}
span.save_widget span.filename:hover {
  background-color: #e6e6e6;
}
[dir="rtl"] span.save_widget.pull-left {
  float: right !important;
  float: right;
}
[dir="rtl"] span.save_widget span.filename {
  margin-left: 0;
  margin-right: 16px;
}
span.checkpoint_status,
span.autosave_status {
  font-size: small;
  white-space: nowrap;
  padding: 0 5px;
}
@media (max-width: 767px) {
  span.save_widget {
    font-size: small;
    padding: 0 0 0 5px;
  }
  span.checkpoint_status,
  span.autosave_status {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  span.checkpoint_status {
    display: none;
  }
  span.autosave_status {
    font-size: x-small;
  }
}
.toolbar {
  padding: 0px;
  margin-left: -5px;
  margin-top: 2px;
  margin-bottom: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.toolbar select,
.toolbar label {
  width: auto;
  vertical-align: middle;
  margin-right: 2px;
  margin-bottom: 0px;
  display: inline;
  font-size: 92%;
  margin-left: 0.3em;
  margin-right: 0.3em;
  padding: 0px;
  padding-top: 3px;
}
.toolbar .btn {
  padding: 2px 8px;
}
.toolbar .btn-group {
  margin-top: 0px;
  margin-left: 5px;
}
.toolbar-btn-label {
  margin-left: 6px;
}
#maintoolbar {
  margin-bottom: -3px;
  margin-top: -8px;
  border: 0px;
  min-height: 27px;
  margin-left: 0px;
  padding-top: 11px;
  padding-bottom: 3px;
}
#maintoolbar .navbar-text {
  float: none;
  vertical-align: middle;
  text-align: right;
  margin-left: 5px;
  margin-right: 0px;
  margin-top: 0px;
}
.select-xs {
  height: 24px;
}
[dir="rtl"] .btn-group > .btn,
.btn-group-vertical > .btn {
  float: right;
}
.pulse,
.dropdown-menu > li > a.pulse,
li.pulse > a.dropdown-toggle,
li.pulse.open > a.dropdown-toggle {
  background-color: #F37626;
  color: white;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
 * of chance of beeing generated from the ../less/[samename].less file, you can
 * try to get back the less file by reverting somme commit in history
 **/
/*
 * We'll try to get something pretty, so we
 * have some strange css to have the scroll bar on
 * the left with fix button on the top right of the tooltip
 */
@-moz-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-moz-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*properties of tooltip after "expand"*/
.bigtooltip {
  overflow: auto;
  height: 200px;
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
}
/*properties of tooltip before "expand"*/
.smalltooltip {
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
  text-overflow: ellipsis;
  overflow: hidden;
  height: 80px;
}
.tooltipbuttons {
  position: absolute;
  padding-right: 15px;
  top: 0px;
  right: 0px;
}
.tooltiptext {
  /*avoid the button to overlap on some docstring*/
  padding-right: 30px;
}
.ipython_tooltip {
  max-width: 700px;
  /*fade-in animation when inserted*/
  -webkit-animation: fadeOut 400ms;
  -moz-animation: fadeOut 400ms;
  animation: fadeOut 400ms;
  -webkit-animation: fadeIn 400ms;
  -moz-animation: fadeIn 400ms;
  animation: fadeIn 400ms;
  vertical-align: middle;
  background-color: #f7f7f7;
  overflow: visible;
  border: #ababab 1px solid;
  outline: none;
  padding: 3px;
  margin: 0px;
  padding-left: 7px;
  font-family: monospace;
  min-height: 50px;
  -moz-box-shadow: 0px 6px 10px -1px #adadad;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  border-radius: 2px;
  position: absolute;
  z-index: 1000;
}
.ipython_tooltip a {
  float: right;
}
.ipython_tooltip .tooltiptext pre {
  border: 0;
  border-radius: 0;
  font-size: 100%;
  background-color: #f7f7f7;
}
.pretooltiparrow {
  left: 0px;
  margin: 0px;
  top: -16px;
  width: 40px;
  height: 16px;
  overflow: hidden;
  position: absolute;
}
.pretooltiparrow:before {
  background-color: #f7f7f7;
  border: 1px #ababab solid;
  z-index: 11;
  content: "";
  position: absolute;
  left: 15px;
  top: 10px;
  width: 25px;
  height: 25px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}
ul.typeahead-list i {
  margin-left: -10px;
  width: 18px;
}
[dir="rtl"] ul.typeahead-list i {
  margin-left: 0;
  margin-right: -10px;
}
ul.typeahead-list {
  max-height: 80vh;
  overflow: auto;
}
ul.typeahead-list > li > a {
  /** Firefox bug **/
  /* see https://github.com/jupyter/notebook/issues/559 */
  white-space: normal;
}
ul.typeahead-list  > li > a.pull-right {
  float: left !important;
  float: left;
}
[dir="rtl"] .typeahead-list {
  text-align: right;
}
.cmd-palette .modal-body {
  padding: 7px;
}
.cmd-palette form {
  background: white;
}
.cmd-palette input {
  outline: none;
}
.no-shortcut {
  min-width: 20px;
  color: transparent;
}
[dir="rtl"] .no-shortcut.pull-right {
  float: left !important;
  float: left;
}
[dir="rtl"] .command-shortcut.pull-right {
  float: left !important;
  float: left;
}
.command-shortcut:before {
  content: "(command mode)";
  padding-right: 3px;
  color: #777777;
}
.edit-shortcut:before {
  content: "(edit)";
  padding-right: 3px;
  color: #777777;
}
[dir="rtl"] .edit-shortcut.pull-right {
  float: left !important;
  float: left;
}
#find-and-replace #replace-preview .match,
#find-and-replace #replace-preview .insert {
  background-color: #BBDEFB;
  border-color: #90CAF9;
  border-style: solid;
  border-width: 1px;
  border-radius: 0px;
}
[dir="ltr"] #find-and-replace .input-group-btn + .form-control {
  border-left: none;
}
[dir="rtl"] #find-and-replace .input-group-btn + .form-control {
  border-right: none;
}
#find-and-replace #replace-preview .replace .match {
  background-color: #FFCDD2;
  border-color: #EF9A9A;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .insert {
  background-color: #C8E6C9;
  border-color: #A5D6A7;
  border-radius: 0px;
}
#find-and-replace #replace-preview {
  max-height: 60vh;
  overflow: auto;
}
#find-and-replace #replace-preview pre {
  padding: 5px 10px;
}
.terminal-app {
  background: #EEE;
}
.terminal-app #header {
  background: #fff;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.terminal-app .terminal {
  width: 100%;
  float: left;
  font-family: monospace;
  color: white;
  background: black;
  padding: 0.4em;
  border-radius: 2px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
}
.terminal-app .terminal,
.terminal-app .terminal dummy-screen {
  line-height: 1em;
  font-size: 14px;
}
.terminal-app .terminal .xterm-rows {
  padding: 10px;
}
.terminal-app .terminal-cursor {
  color: black;
  background: white;
}
.terminal-app #terminado-container {
  margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
    </style>
<style type="text/css">
    .highlight .hll { background-color: #ffffcc }
.highlight  { background: #f8f8f8; }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
    </style>
<style type="text/css">
    
/* Temporary definitions which will become obsolete with Notebook release 5.0 */
.ansi-black-fg { color: #3E424D; }
.ansi-black-bg { background-color: #3E424D; }
.ansi-black-intense-fg { color: #282C36; }
.ansi-black-intense-bg { background-color: #282C36; }
.ansi-red-fg { color: #E75C58; }
.ansi-red-bg { background-color: #E75C58; }
.ansi-red-intense-fg { color: #B22B31; }
.ansi-red-intense-bg { background-color: #B22B31; }
.ansi-green-fg { color: #00A250; }
.ansi-green-bg { background-color: #00A250; }
.ansi-green-intense-fg { color: #007427; }
.ansi-green-intense-bg { background-color: #007427; }
.ansi-yellow-fg { color: #DDB62B; }
.ansi-yellow-bg { background-color: #DDB62B; }
.ansi-yellow-intense-fg { color: #B27D12; }
.ansi-yellow-intense-bg { background-color: #B27D12; }
.ansi-blue-fg { color: #208FFB; }
.ansi-blue-bg { background-color: #208FFB; }
.ansi-blue-intense-fg { color: #0065CA; }
.ansi-blue-intense-bg { background-color: #0065CA; }
.ansi-magenta-fg { color: #D160C4; }
.ansi-magenta-bg { background-color: #D160C4; }
.ansi-magenta-intense-fg { color: #A03196; }
.ansi-magenta-intense-bg { background-color: #A03196; }
.ansi-cyan-fg { color: #60C6C8; }
.ansi-cyan-bg { background-color: #60C6C8; }
.ansi-cyan-intense-fg { color: #258F8F; }
.ansi-cyan-intense-bg { background-color: #258F8F; }
.ansi-white-fg { color: #C5C1B4; }
.ansi-white-bg { background-color: #C5C1B4; }
.ansi-white-intense-fg { color: #A1A6B2; }
.ansi-white-intense-bg { background-color: #A1A6B2; }

.ansi-bold { font-weight: bold; }

    </style>


<style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
  overflow: visible;
  padding: 8px;
}

div#notebook {
  overflow: visible;
  border-top: none;
}@media print {
  div.cell {
    display: block;
    page-break-inside: avoid;
  } 
  div.output_wrapper { 
    display: block;
    page-break-inside: avoid; 
  }
  div.output { 
    display: block;
    page-break-inside: avoid; 
  }
}
</style>

<!-- Custom stylesheet, it must be in the same directory as the html file -->
<link rel="stylesheet" href="custom.css">

<!-- Loading mathjax macro -->
<!-- Load mathjax -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS_HTML"></script>
    <!-- MathJax configuration -->
    <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [ ['$','$'], ["\\(","\\)"] ],
            displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
            processEscapes: true,
            processEnvironments: true
        },
        // Center justify equations in code and markdown cells. Elsewhere
        // we use CSS to left justify single line equations in code cells.
        displayAlign: 'center',
        "HTML-CSS": {
            styles: {'.MathJax_Display': {"margin": 0}},
            linebreaks: { automatic: true }
        }
    });
    </script>
    <!-- End of mathjax configuration --></head>
<body>
  <div tabindex="-1" id="notebook" class="border-box-sizing">
    <div class="container" id="notebook-container">

<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="&#39640;&#24503;Web&#26381;&#21153;API">&#39640;&#24503;Web&#26381;&#21153;API<a class="anchor-link" href="#&#39640;&#24503;Web&#26381;&#21153;API">&#182;</a></h1>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="1.&#22320;&#29702;/&#36870;&#22320;&#29702;&#32534;&#30721;">1.&#22320;&#29702;/&#36870;&#22320;&#29702;&#32534;&#30721;<a class="anchor-link" href="#1.&#22320;&#29702;/&#36870;&#22320;&#29702;&#32534;&#30721;">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4 id="1.0&#22320;&#29702;&#32534;&#30721;&#65306;&#23558;&#35814;&#32454;&#30340;&#32467;&#26500;&#21270;&#22320;&#22336;&#36716;&#25442;&#20026;&#39640;&#24503;&#32463;&#32428;&#24230;&#22352;&#26631;&#12290;">1.0&#22320;&#29702;&#32534;&#30721;&#65306;&#23558;&#35814;&#32454;&#30340;&#32467;&#26500;&#21270;&#22320;&#22336;&#36716;&#25442;&#20026;&#39640;&#24503;&#32463;&#32428;&#24230;&#22352;&#26631;&#12290;<a class="anchor-link" href="#1.0&#22320;&#29702;&#32534;&#30721;&#65306;&#23558;&#35814;&#32454;&#30340;&#32467;&#26500;&#21270;&#22320;&#22336;&#36716;&#25442;&#20026;&#39640;&#24503;&#32463;&#32428;&#24230;&#22352;&#26631;&#12290;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>思考：填入address对应的city，可查询经纬度</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[100]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
<span class="kn">import</span> <span class="nn">requests</span>
<span class="n">key</span> <span class="o">=</span><span class="s1">&#39;b53a7b957490c7a0d615f499e6afc1b0&#39;</span>
<span class="k">def</span> <span class="nf">geo</span><span class="p">(</span><span class="n">address</span><span class="p">,</span><span class="n">city</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">batch</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">sig</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span><span class="o">-&gt;</span><span class="nb">dict</span><span class="p">:</span>
    <span class="sd">&quot;&quot;&quot;获取地理编码&quot;&quot;&quot;</span>
    <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;https://restapi.amap.com/v3/geocode/geo?parameters&#39;</span>
    <span class="n">params</span><span class="o">=</span><span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span> <span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;address&#39;</span><span class="p">:</span><span class="n">address</span><span class="p">,</span>
        <span class="s1">&#39;city&#39;</span><span class="p">:</span><span class="n">city</span><span class="p">,</span>
        <span class="s1">&#39;batch&#39;</span><span class="p">:</span><span class="n">batch</span><span class="p">,</span>
        <span class="s1">&#39;sig&#39;</span><span class="p">:</span><span class="n">sig</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
    <span class="k">return</span> <span class="n">data</span>
<span class="n">中大南方</span> <span class="o">=</span> <span class="n">geo</span><span class="p">(</span><span class="n">address</span><span class="o">=</span><span class="s1">&#39;广东省广州市从化区中山大学南方学院&#39;</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">中大南方</span><span class="p">)</span>
<span class="n">中大南方地理编码</span> <span class="o">=</span> <span class="n">中大南方</span><span class="p">[</span><span class="s1">&#39;geocodes&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;location&#39;</span><span class="p">]</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;中大南方地理编码:&quot;</span><span class="p">,</span><span class="n">中大南方地理编码</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>{&#39;status&#39;: &#39;1&#39;, &#39;info&#39;: &#39;OK&#39;, &#39;infocode&#39;: &#39;10000&#39;, &#39;count&#39;: &#39;1&#39;, &#39;geocodes&#39;: [{&#39;formatted_address&#39;: &#39;广东省广州市从化区中山大学南方学院&#39;, &#39;country&#39;: &#39;中国&#39;, &#39;province&#39;: &#39;广东省&#39;, &#39;citycode&#39;: &#39;020&#39;, &#39;city&#39;: &#39;广州市&#39;, &#39;district&#39;: &#39;从化区&#39;, &#39;township&#39;: [], &#39;neighborhood&#39;: {&#39;name&#39;: [], &#39;type&#39;: []}, &#39;building&#39;: {&#39;name&#39;: [], &#39;type&#39;: []}, &#39;adcode&#39;: &#39;440117&#39;, &#39;street&#39;: [], &#39;number&#39;: [], &#39;location&#39;: &#39;113.679287,23.632575&#39;, &#39;level&#39;: &#39;兴趣点&#39;}]}
中大南方地理编码: 113.679287,23.632575
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[102]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">中大南方地理编码</span> <span class="o">=</span> <span class="n">中大南方</span><span class="p">[</span><span class="s1">&#39;geocodes&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;location&#39;</span><span class="p">]</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;中大南方地理编码:&quot;</span><span class="p">,</span><span class="n">中大南方地理编码</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>中大南方地理编码: 113.679287,23.632575
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[103]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">geo</span><span class="p">(</span><span class="n">address</span><span class="p">,</span><span class="n">city</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">batch</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">sig</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span><span class="o">-&gt;</span><span class="nb">dict</span><span class="p">:</span>
    <span class="sd">&quot;&quot;&quot;获取地理编码&quot;&quot;&quot;</span>
    <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;https://restapi.amap.com/v3/geocode/geo?parameters&#39;</span>
    <span class="n">params</span><span class="o">=</span><span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span> <span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;address&#39;</span><span class="p">:</span><span class="s2">&quot;广东省佛山市南海区西樵山&quot;</span><span class="p">,</span>
        <span class="s1">&#39;city&#39;</span><span class="p">:</span><span class="n">city</span><span class="p">,</span>
        <span class="s1">&#39;batch&#39;</span><span class="p">:</span><span class="n">batch</span><span class="p">,</span>
        <span class="s1">&#39;sig&#39;</span><span class="p">:</span><span class="n">sig</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
    <span class="k">return</span> <span class="n">data</span>
<span class="n">西樵山</span> <span class="o">=</span> <span class="n">geo</span><span class="p">(</span><span class="n">address</span><span class="o">=</span><span class="s1">&#39;广东省佛山市南海区西樵山&#39;</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">西樵山</span><span class="p">)</span>
<span class="n">西樵山地理编码</span> <span class="o">=</span> <span class="n">西樵山</span><span class="p">[</span><span class="s1">&#39;geocodes&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;location&#39;</span><span class="p">]</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;西樵山地理编码:&quot;</span><span class="p">,</span><span class="n">西樵山地理编码</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>{&#39;status&#39;: &#39;1&#39;, &#39;info&#39;: &#39;OK&#39;, &#39;infocode&#39;: &#39;10000&#39;, &#39;count&#39;: &#39;1&#39;, &#39;geocodes&#39;: [{&#39;formatted_address&#39;: &#39;广东省佛山市南海区西樵山&#39;, &#39;country&#39;: &#39;中国&#39;, &#39;province&#39;: &#39;广东省&#39;, &#39;citycode&#39;: &#39;0757&#39;, &#39;city&#39;: &#39;佛山市&#39;, &#39;district&#39;: &#39;南海区&#39;, &#39;township&#39;: [], &#39;neighborhood&#39;: {&#39;name&#39;: [], &#39;type&#39;: []}, &#39;building&#39;: {&#39;name&#39;: [], &#39;type&#39;: []}, &#39;adcode&#39;: &#39;440605&#39;, &#39;street&#39;: [], &#39;number&#39;: [], &#39;location&#39;: &#39;112.982186,22.937509&#39;, &#39;level&#39;: &#39;热点商圈&#39;}]}
西樵山地理编码: 112.982186,22.937509
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[104]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">西樵山地理编码</span> <span class="o">=</span> <span class="n">西樵山</span><span class="p">[</span><span class="s1">&#39;geocodes&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;location&#39;</span><span class="p">]</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;西樵山地理编码:&quot;</span><span class="p">,</span><span class="n">西樵山地理编码</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>西樵山地理编码: 112.982186,22.937509
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4 id="2.0&#36870;&#22320;&#29702;&#32534;&#30721;&#65306;&#23558;&#32463;&#32428;&#24230;&#36716;&#25442;&#20026;&#35814;&#32454;&#32467;&#26500;&#21270;&#30340;&#22320;&#22336;">2.0&#36870;&#22320;&#29702;&#32534;&#30721;&#65306;&#23558;&#32463;&#32428;&#24230;&#36716;&#25442;&#20026;&#35814;&#32454;&#32467;&#26500;&#21270;&#30340;&#22320;&#22336;<a class="anchor-link" href="#2.0&#36870;&#22320;&#29702;&#32534;&#30721;&#65306;&#23558;&#32463;&#32428;&#24230;&#36716;&#25442;&#20026;&#35814;&#32454;&#32467;&#26500;&#21270;&#30340;&#22320;&#22336;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[105]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">regeocode</span><span class="p">(</span><span class="n">location</span><span class="p">,</span><span class="n">poitype</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">radius</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">extensions</span><span class="o">=</span><span class="s2">&quot;base&quot;</span><span class="p">,</span><span class="n">batch</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span><span class="n">roadlevel</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">sig</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">homeorcorp</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span><span class="o">-&gt;</span><span class="nb">dict</span><span class="p">:</span>
    <span class="sd">&quot;&quot;&quot;获取逆地理编码&quot;&quot;&quot;</span>
    <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;https://restapi.amap.com/v3/geocode/regeo?parameters&#39;</span>
    <span class="n">params</span><span class="o">=</span><span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span> <span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;location&#39;</span><span class="p">:</span><span class="n">location</span><span class="p">,</span>
        <span class="s1">&#39;poitype&#39;</span><span class="p">:</span><span class="n">poitype</span><span class="p">,</span>
        <span class="s1">&#39;radius&#39;</span><span class="p">:</span><span class="n">radius</span><span class="p">,</span>
        <span class="s1">&#39;extensions&#39;</span><span class="p">:</span><span class="n">extensions</span><span class="p">,</span>
        <span class="s1">&#39;batch&#39;</span><span class="p">:</span><span class="n">batch</span><span class="p">,</span>
        <span class="s1">&#39;roadlevel&#39;</span><span class="p">:</span><span class="n">roadlevel</span><span class="p">,</span>
        <span class="s1">&#39;homeorcorp&#39;</span><span class="p">:</span><span class="n">homeorcorp</span><span class="p">,</span>
        <span class="s1">&#39;sig&#39;</span><span class="p">:</span><span class="n">sig</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
    <span class="k">return</span> <span class="n">data</span>

<span class="n">中大南方逆地理编码</span> <span class="o">=</span> <span class="n">regeocode</span><span class="p">(</span><span class="n">中大南方地理编码</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">中大南方逆地理编码</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>{&#39;status&#39;: &#39;1&#39;, &#39;regeocode&#39;: {&#39;addressComponent&#39;: {&#39;city&#39;: &#39;广州市&#39;, &#39;province&#39;: &#39;广东省&#39;, &#39;adcode&#39;: &#39;440117&#39;, &#39;district&#39;: &#39;从化区&#39;, &#39;towncode&#39;: &#39;440117103000&#39;, &#39;streetNumber&#39;: {&#39;number&#39;: &#39;7号&#39;, &#39;location&#39;: &#39;113.6786,23.6333289&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;distance&#39;: &#39;109.203&#39;, &#39;street&#39;: &#39;博学路&#39;}, &#39;country&#39;: &#39;中国&#39;, &#39;township&#39;: &#39;温泉镇&#39;, &#39;businessAreas&#39;: [[]], &#39;building&#39;: {&#39;name&#39;: [], &#39;type&#39;: []}, &#39;neighborhood&#39;: {&#39;name&#39;: [], &#39;type&#39;: []}, &#39;citycode&#39;: &#39;020&#39;}, &#39;formatted_address&#39;: &#39;广东省广州市从化区温泉镇中山大学南方学院&#39;}, &#39;info&#39;: &#39;OK&#39;, &#39;infocode&#39;: &#39;10000&#39;}
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[107]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">中大南方逆地理编码_all</span> <span class="o">=</span> <span class="n">regeocode</span><span class="p">(</span><span class="n">中大南方地理编码</span><span class="p">,</span><span class="n">extensions</span><span class="o">=</span><span class="s2">&quot;all&quot;</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">中大南方逆地理编码_all</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>{&#39;status&#39;: &#39;1&#39;, &#39;regeocode&#39;: {&#39;roads&#39;: [{&#39;id&#39;: &#39;020F49F0050461203&#39;, &#39;location&#39;: &#39;113.68,23.634&#39;, &#39;direction&#39;: &#39;南&#39;, &#39;name&#39;: &#39;博学路&#39;, &#39;distance&#39;: &#39;156.951&#39;}, {&#39;id&#39;: &#39;020F49F0050462451&#39;, &#39;location&#39;: &#39;113.677,23.6347&#39;, &#39;direction&#39;: &#39;东南&#39;, &#39;name&#39;: &#39;中山路&#39;, &#39;distance&#39;: &#39;343.951&#39;}, {&#39;id&#39;: &#39;020F49F006047765&#39;, &#39;location&#39;: &#39;113.682,23.6394&#39;, &#39;direction&#39;: &#39;南&#39;, &#39;name&#39;: &#39;S29从莞深高速&#39;, &#39;distance&#39;: &#39;807.947&#39;}], &#39;roadinters&#39;: [{&#39;second_name&#39;: &#39;中山路&#39;, &#39;first_id&#39;: &#39;020F49F0050461203&#39;, &#39;second_id&#39;: &#39;020F49F0050462451&#39;, &#39;location&#39;: &#39;113.6767944,23.63466139&#39;, &#39;distance&#39;: &#39;343.951&#39;, &#39;first_name&#39;: &#39;博学路&#39;, &#39;direction&#39;: &#39;东南&#39;}], &#39;formatted_address&#39;: &#39;广东省广州市从化区温泉镇中山大学南方学院&#39;, &#39;addressComponent&#39;: {&#39;city&#39;: &#39;广州市&#39;, &#39;province&#39;: &#39;广东省&#39;, &#39;adcode&#39;: &#39;440117&#39;, &#39;district&#39;: &#39;从化区&#39;, &#39;towncode&#39;: &#39;440117103000&#39;, &#39;streetNumber&#39;: {&#39;number&#39;: &#39;7号&#39;, &#39;location&#39;: &#39;113.6786,23.6333289&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;distance&#39;: &#39;109.203&#39;, &#39;street&#39;: &#39;博学路&#39;}, &#39;country&#39;: &#39;中国&#39;, &#39;township&#39;: &#39;温泉镇&#39;, &#39;businessAreas&#39;: [[]], &#39;building&#39;: {&#39;name&#39;: [], &#39;type&#39;: []}, &#39;neighborhood&#39;: {&#39;name&#39;: [], &#39;type&#39;: []}, &#39;citycode&#39;: &#39;020&#39;}, &#39;aois&#39;: [{&#39;area&#39;: &#39;536585.849985&#39;, &#39;type&#39;: &#39;141201&#39;, &#39;id&#39;: &#39;B00140MR9A&#39;, &#39;location&#39;: &#39;113.679262,23.632583&#39;, &#39;adcode&#39;: &#39;440117&#39;, &#39;name&#39;: &#39;中山大学南方学院&#39;, &#39;distance&#39;: &#39;0&#39;}], &#39;pois&#39;: [{&#39;id&#39;: &#39;B00140MR9A&#39;, &#39;direction&#39;: &#39;西&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;温泉大道882号&#39;, &#39;poiweight&#39;: &#39;0.450402&#39;, &#39;name&#39;: &#39;中山大学南方学院&#39;, &#39;location&#39;: &#39;113.679262,23.632583&#39;, &#39;distance&#39;: &#39;2.69979&#39;, &#39;tel&#39;: &#39;020-61787326;020-61787333&#39;, &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;}, {&#39;id&#39;: &#39;B0FFF2VMJ4&#39;, &#39;direction&#39;: &#39;东南&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;温泉大道886号中山大学南方学院内&#39;, &#39;poiweight&#39;: &#39;0.148531&#39;, &#39;name&#39;: &#39;中山大学南方学院-综合楼&#39;, &#39;location&#39;: &#39;113.680117,23.631544&#39;, &#39;distance&#39;: &#39;142.466&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;科教文化服务;学校;学校&#39;}, {&#39;id&#39;: &#39;B0FFFTC9PH&#39;, &#39;direction&#39;: &#39;东北&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;博学路附近&#39;, &#39;poiweight&#39;: &#39;0.193172&#39;, &#39;name&#39;: &#39;中山大学南方学院教学楼10号&#39;, &#39;location&#39;: &#39;113.680125,23.633492&#39;, &#39;distance&#39;: &#39;132.988&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;科教文化服务;科教文化场所;科教文化场所&#39;}, {&#39;id&#39;: &#39;B00141TQKX&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;温泉大道882&#39;, &#39;poiweight&#39;: &#39;0.148531&#39;, &#39;name&#39;: &#39;中山大学南方学院教学楼6号&#39;, &#39;location&#39;: &#39;113.678424,23.633710&#39;, &#39;distance&#39;: &#39;153.818&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;科教文化服务;学校;学校&#39;}, {&#39;id&#39;: &#39;B00141WQCO&#39;, &#39;direction&#39;: &#39;东北&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;博学路附近&#39;, &#39;poiweight&#39;: &#39;0.14954&#39;, &#39;name&#39;: &#39;中山大学南方学院教学楼8号&#39;, &#39;location&#39;: &#39;113.680399,23.634329&#39;, &#39;distance&#39;: &#39;225.543&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;科教文化服务;科教文化场所;科教文化场所&#39;}, {&#39;id&#39;: &#39;B00141TRVH&#39;, &#39;direction&#39;: &#39;西南&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;博学路21&#39;, &#39;poiweight&#39;: &#39;0.148531&#39;, &#39;name&#39;: &#39;中山大学南方学院教学楼2号&#39;, &#39;location&#39;: &#39;113.677060,23.631346&#39;, &#39;distance&#39;: &#39;264.846&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;科教文化服务;科教文化场所;科教文化场所&#39;}, {&#39;id&#39;: &#39;B0FFKP9ET5&#39;, &#39;direction&#39;: &#39;西南&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;博学路附近&#39;, &#39;poiweight&#39;: &#39;0.191742&#39;, &#39;name&#39;: &#39;中山大学南方学院1号实验楼&#39;, &#39;location&#39;: &#39;113.678215,23.631370&#39;, &#39;distance&#39;: &#39;172.86&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;科教文化服务;科教文化场所;科教文化场所&#39;}, {&#39;id&#39;: &#39;B00140TWHT&#39;, &#39;direction&#39;: &#39;南&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;笃行路2&#39;, &#39;poiweight&#39;: &#39;0.157653&#39;, &#39;name&#39;: &#39;教工住宅1号&#39;, &#39;location&#39;: &#39;113.678490,23.630432&#39;, &#39;distance&#39;: &#39;251.758&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;商务住宅;住宅区;住宅小区&#39;}, {&#39;id&#39;: &#39;B0FFHC4XU0&#39;, &#39;direction&#39;: &#39;南&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;温泉大道886号&#39;, &#39;poiweight&#39;: &#39;0.158426&#39;, &#39;name&#39;: &#39;中山大学南方学院学术交流中心&#39;, &#39;location&#39;: &#39;113.679959,23.630496&#39;, &#39;distance&#39;: &#39;241.095&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;科教文化服务;科教文化场所;科教文化场所&#39;}, {&#39;id&#39;: &#39;B0FFLBEOND&#39;, &#39;direction&#39;: &#39;东南&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: [], &#39;poiweight&#39;: &#39;0.190963&#39;, &#39;name&#39;: &#39;聚贤楼10号&#39;, &#39;location&#39;: &#39;113.681253,23.631036&#39;, &#39;distance&#39;: &#39;263.444&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;商务住宅;住宅区;宿舍&#39;}, {&#39;id&#39;: &#39;B0FFHJFHVN&#39;, &#39;direction&#39;: &#39;北&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;温泉镇温泉大道&#39;, &#39;poiweight&#39;: &#39;0.210336&#39;, &#39;name&#39;: &#39;中山大学南方学院第五食堂&#39;, &#39;location&#39;: &#39;113.679234,23.634647&#39;, &#39;distance&#39;: &#39;230.464&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;餐饮服务;中餐厅;中餐厅&#39;}, {&#39;id&#39;: &#39;B0FFJLW0O9&#39;, &#39;direction&#39;: &#39;西&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;博学路4附近&#39;, &#39;poiweight&#39;: &#39;0.191645&#39;, &#39;name&#39;: &#39;中山大学南方学院西区饭堂&#39;, &#39;location&#39;: &#39;113.676210,23.632177&#39;, &#39;distance&#39;: &#39;316.572&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;科教文化服务;科教文化场所;科教文化场所&#39;}, {&#39;id&#39;: &#39;B0FFJBZLYT&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;中山路与博学路交叉口东南50米&#39;, &#39;poiweight&#39;: &#39;0.297382&#39;, &#39;name&#39;: &#39;铜像广场&#39;, &#39;location&#39;: &#39;113.676921,23.634555&#39;, &#39;distance&#39;: &#39;326.444&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;风景名胜;风景名胜;风景名胜&#39;}, {&#39;id&#39;: &#39;B0FFG8CSEK&#39;, &#39;direction&#39;: &#39;东&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;温泉镇&#39;, &#39;poiweight&#39;: &#39;0.185371&#39;, &#39;name&#39;: &#39;L5员工宿舍&#39;, &#39;location&#39;: &#39;113.682583,23.631487&#39;, &#39;distance&#39;: &#39;356.923&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;商务住宅;住宅区;宿舍&#39;}, {&#39;id&#39;: &#39;B0FFKPXO2S&#39;, &#39;direction&#39;: &#39;北&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;博学路附近&#39;, &#39;poiweight&#39;: &#39;0.188247&#39;, &#39;name&#39;: &#39;中山大学南方学院医务室&#39;, &#39;location&#39;: &#39;113.679394,23.635924&#39;, &#39;distance&#39;: &#39;372.556&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;医疗保健服务;医疗保健服务场所;医疗保健服务场所&#39;}, {&#39;id&#39;: &#39;B0FFHHLMF8&#39;, &#39;direction&#39;: &#39;东北&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;中山大学南方学院明辩路2号第三饭堂&#39;, &#39;poiweight&#39;: &#39;0.178935&#39;, &#39;name&#39;: &#39;茗语轩餐厅&#39;, &#39;location&#39;: &#39;113.681901,23.634495&#39;, &#39;distance&#39;: &#39;341.332&#39;, &#39;tel&#39;: &#39;13929501395&#39;, &#39;type&#39;: &#39;餐饮服务;中餐厅;中餐厅&#39;}, {&#39;id&#39;: &#39;B0FFGXGN3K&#39;, &#39;direction&#39;: &#39;东&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: [], &#39;poiweight&#39;: &#39;0.188657&#39;, &#39;name&#39;: &#39;中山大学南方学院宿舍H25&#39;, &#39;location&#39;: &#39;113.683474,23.632020&#39;, &#39;distance&#39;: &#39;430.984&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;商务住宅;住宅区;宿舍&#39;}, {&#39;id&#39;: &#39;B0FFGQ2UG9&#39;, &#39;direction&#39;: &#39;东&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;温泉镇&#39;, &#39;poiweight&#39;: &#39;0.189884&#39;, &#39;name&#39;: &#39;H23学生宿舍楼&#39;, &#39;location&#39;: &#39;113.684021,23.633311&#39;, &#39;distance&#39;: &#39;489.185&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;商务住宅;住宅区;宿舍&#39;}, {&#39;id&#39;: &#39;B0FFGBBC19&#39;, &#39;direction&#39;: &#39;东&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;温泉镇&#39;, &#39;poiweight&#39;: &#39;0.2587&#39;, &#39;name&#39;: &#39;保利桃花源&#39;, &#39;location&#39;: &#39;113.685212,23.633333&#39;, &#39;distance&#39;: &#39;609.461&#39;, &#39;tel&#39;: &#39;020-37918888&#39;, &#39;type&#39;: &#39;商务住宅;住宅区;别墅&#39;}, {&#39;id&#39;: &#39;B00140U844&#39;, &#39;direction&#39;: &#39;西南&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;博学路24&#39;, &#39;poiweight&#39;: &#39;0.203285&#39;, &#39;name&#39;: &#39;学生宿舍H-5&#39;, &#39;location&#39;: &#39;113.677267,23.629149&#39;, &#39;distance&#39;: &#39;433.01&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;地名地址信息;门牌信息;楼栋号&#39;}, {&#39;id&#39;: &#39;B0FFKQ210C&#39;, &#39;direction&#39;: &#39;北&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: [], &#39;poiweight&#39;: &#39;0.218258&#39;, &#39;name&#39;: &#39;中山大学南方学院聚贤楼7号&#39;, &#39;location&#39;: &#39;113.680958,23.636938&#39;, &#39;distance&#39;: &#39;514.173&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;商务住宅;商务住宅相关;商务住宅相关&#39;}, {&#39;id&#39;: &#39;B0FFHVQGBY&#39;, &#39;direction&#39;: &#39;南&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: [], &#39;poiweight&#39;: &#39;0.170485&#39;, &#39;name&#39;: &#39;广州市从化温泉塔洛灯商店&#39;, &#39;location&#39;: &#39;113.680212,23.627906&#39;, &#39;distance&#39;: &#39;527.663&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;购物服务;家居建材市场;家居建材市场&#39;}, {&#39;id&#39;: &#39;B0FFLJV95W&#39;, &#39;direction&#39;: &#39;东北&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: [], &#39;poiweight&#39;: &#39;0.28899&#39;, &#39;name&#39;: &#39;中山大学南方学院12BLOCK&#39;, &#39;location&#39;: &#39;113.682608,23.636598&#39;, &#39;distance&#39;: &#39;560.894&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;}, {&#39;id&#39;: &#39;B0FFGF9WTH&#39;, &#39;direction&#39;: &#39;东北&#39;, &#39;businessarea&#39;: [], &#39;address&#39;: &#39;从化区&#39;, &#39;poiweight&#39;: &#39;0.196592&#39;, &#39;name&#39;: &#39;田螺山隧道&#39;, &#39;location&#39;: &#39;113.683736,23.638949&#39;, &#39;distance&#39;: &#39;841.305&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;地名地址信息;交通地名;隧道&#39;}]}, &#39;info&#39;: &#39;OK&#39;, &#39;infocode&#39;: &#39;10000&#39;}
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[106]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">regeocode</span><span class="p">(</span><span class="n">location</span><span class="p">,</span><span class="n">poitype</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">radius</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">extensions</span><span class="o">=</span><span class="s2">&quot;base&quot;</span><span class="p">,</span><span class="n">batch</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span><span class="n">roadlevel</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">sig</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">homeorcorp</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span><span class="o">-&gt;</span><span class="nb">dict</span><span class="p">:</span>
    <span class="sd">&quot;&quot;&quot;获取逆地理编码&quot;&quot;&quot;</span>
    <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;https://restapi.amap.com/v3/geocode/regeo?parameters&#39;</span>
    <span class="n">params</span><span class="o">=</span><span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span> <span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;location&#39;</span><span class="p">:</span><span class="n">location</span><span class="p">,</span>
        <span class="s1">&#39;poitype&#39;</span><span class="p">:</span><span class="n">poitype</span><span class="p">,</span>
        <span class="s1">&#39;radius&#39;</span><span class="p">:</span><span class="n">radius</span><span class="p">,</span>
        <span class="s1">&#39;extensions&#39;</span><span class="p">:</span><span class="n">extensions</span><span class="p">,</span>
        <span class="s1">&#39;batch&#39;</span><span class="p">:</span><span class="n">batch</span><span class="p">,</span>
        <span class="s1">&#39;roadlevel&#39;</span><span class="p">:</span><span class="n">roadlevel</span><span class="p">,</span>
        <span class="s1">&#39;homeorcorp&#39;</span><span class="p">:</span><span class="n">homeorcorp</span><span class="p">,</span>
        <span class="s1">&#39;sig&#39;</span><span class="p">:</span><span class="n">sig</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
    <span class="k">return</span> <span class="n">data</span>
<span class="n">西樵山逆地理编码</span> <span class="o">=</span> <span class="n">regeocode</span><span class="p">(</span><span class="n">西樵山地理编码</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">西樵山逆地理编码</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>{&#39;status&#39;: &#39;1&#39;, &#39;regeocode&#39;: {&#39;addressComponent&#39;: {&#39;city&#39;: &#39;佛山市&#39;, &#39;province&#39;: &#39;广东省&#39;, &#39;adcode&#39;: &#39;440605&#39;, &#39;district&#39;: &#39;南海区&#39;, &#39;towncode&#39;: &#39;440605122000&#39;, &#39;streetNumber&#39;: {&#39;number&#39;: &#39;35号&#39;, &#39;location&#39;: &#39;112.981222,22.9400639&#39;, &#39;direction&#39;: &#39;北&#39;, &#39;distance&#39;: &#39;300.784&#39;, &#39;street&#39;: &#39;江浦西路&#39;}, &#39;country&#39;: &#39;中国&#39;, &#39;township&#39;: &#39;西樵镇&#39;, &#39;businessAreas&#39;: [{&#39;location&#39;: &#39;112.974918,22.945951&#39;, &#39;name&#39;: &#39;西樵&#39;, &#39;id&#39;: &#39;440605&#39;}], &#39;building&#39;: {&#39;name&#39;: [], &#39;type&#39;: []}, &#39;neighborhood&#39;: {&#39;name&#39;: &#39;西樵山&#39;, &#39;type&#39;: &#39;风景名胜;风景名胜;国家级景点&#39;}, &#39;citycode&#39;: &#39;0757&#39;}, &#39;formatted_address&#39;: &#39;广东省佛山市南海区西樵镇西樵山西樵山风景名胜区&#39;}, &#39;info&#39;: &#39;OK&#39;, &#39;infocode&#39;: &#39;10000&#39;}
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[108]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">西樵山逆地理编码_all</span> <span class="o">=</span> <span class="n">regeocode</span><span class="p">(</span><span class="n">西樵山地理编码</span><span class="p">,</span><span class="n">extensions</span><span class="o">=</span><span class="s2">&quot;all&quot;</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">西樵山逆地理编码_all</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>{&#39;status&#39;: &#39;1&#39;, &#39;regeocode&#39;: {&#39;roads&#39;: [{&#39;id&#39;: &#39;0757F49F0130402505&#39;, &#39;location&#39;: &#39;112.982,22.9398&#39;, &#39;direction&#39;: &#39;南&#39;, &#39;name&#39;: &#39;高街西街&#39;, &#39;distance&#39;: &#39;264.51&#39;}, {&#39;id&#39;: &#39;0757F49F0130404978&#39;, &#39;location&#39;: &#39;112.981,22.9403&#39;, &#39;direction&#39;: &#39;南&#39;, &#39;name&#39;: &#39;江浦路&#39;, &#39;distance&#39;: &#39;320.982&#39;}, {&#39;id&#39;: &#39;0757F49F0130405100&#39;, &#39;location&#39;: &#39;112.981,22.9403&#39;, &#39;direction&#39;: &#39;南&#39;, &#39;name&#39;: &#39;江浦西路&#39;, &#39;distance&#39;: &#39;320.982&#39;}], &#39;roadinters&#39;: [{&#39;second_name&#39;: &#39;江浦路&#39;, &#39;first_id&#39;: &#39;0757F49F0130402505&#39;, &#39;second_id&#39;: &#39;0757F49F0130404978&#39;, &#39;location&#39;: &#39;112.9813778,22.94029778&#39;, &#39;distance&#39;: &#39;320.982&#39;, &#39;first_name&#39;: &#39;高街西街&#39;, &#39;direction&#39;: &#39;南&#39;}], &#39;formatted_address&#39;: &#39;广东省佛山市南海区西樵镇西樵山西樵山风景名胜区&#39;, &#39;addressComponent&#39;: {&#39;city&#39;: &#39;佛山市&#39;, &#39;province&#39;: &#39;广东省&#39;, &#39;adcode&#39;: &#39;440605&#39;, &#39;district&#39;: &#39;南海区&#39;, &#39;towncode&#39;: &#39;440605122000&#39;, &#39;streetNumber&#39;: {&#39;number&#39;: &#39;35号&#39;, &#39;location&#39;: &#39;112.981222,22.9400639&#39;, &#39;direction&#39;: &#39;北&#39;, &#39;distance&#39;: &#39;300.784&#39;, &#39;street&#39;: &#39;江浦西路&#39;}, &#39;country&#39;: &#39;中国&#39;, &#39;township&#39;: &#39;西樵镇&#39;, &#39;businessAreas&#39;: [{&#39;location&#39;: &#39;112.974918,22.945951&#39;, &#39;name&#39;: &#39;西樵&#39;, &#39;id&#39;: &#39;440605&#39;}], &#39;building&#39;: {&#39;name&#39;: [], &#39;type&#39;: []}, &#39;neighborhood&#39;: {&#39;name&#39;: &#39;西樵山&#39;, &#39;type&#39;: &#39;风景名胜;风景名胜;国家级景点&#39;}, &#39;citycode&#39;: &#39;0757&#39;}, &#39;aois&#39;: [{&#39;area&#39;: &#39;9317483.333256&#39;, &#39;type&#39;: &#39;110202&#39;, &#39;id&#39;: &#39;B02F5076F0&#39;, &#39;location&#39;: &#39;112.977185,22.924839&#39;, &#39;adcode&#39;: &#39;440605&#39;, &#39;name&#39;: &#39;西樵山风景名胜区&#39;, &#39;distance&#39;: &#39;0&#39;}], &#39;pois&#39;: [{&#39;id&#39;: &#39;B0FFFEOM8X&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;江浦西路与高街西街交叉口东南150米&#39;, &#39;poiweight&#39;: &#39;0.2134&#39;, &#39;name&#39;: &#39;西樵老年人学校&#39;, &#39;location&#39;: &#39;112.980697,22.939068&#39;, &#39;distance&#39;: &#39;230.905&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;科教文化服务;学校;成人教育&#39;}, {&#39;id&#39;: &#39;B0FFFEOM8Z&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;西樵镇江浦西路59号广东省第二荣军医院办公楼三楼&#39;, &#39;poiweight&#39;: &#39;0.177109&#39;, &#39;name&#39;: &#39;西樵镇关心下一代工作委员会&#39;, &#39;location&#39;: &#39;112.980650,22.939295&#39;, &#39;distance&#39;: &#39;253.365&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;政府机构及社会团体;政府机关;乡镇级政府及事业单位&#39;}, {&#39;id&#39;: &#39;B0FFFEOWS3&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;江浦西路与高街西街交叉口东南100米&#39;, &#39;poiweight&#39;: &#39;0.2134&#39;, &#39;name&#39;: &#39;南海区老年干部大学(西樵分校)&#39;, &#39;location&#39;: &#39;112.980452,22.939269&#39;, &#39;distance&#39;: &#39;264.276&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;科教文化服务;学校;成人教育&#39;}, {&#39;id&#39;: &#39;B02F504746&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;西樵官山江浦西路75号&#39;, &#39;poiweight&#39;: &#39;0.269957&#39;, &#39;name&#39;: &#39;中国农业银行(南海官山支行)&#39;, &#39;location&#39;: &#39;112.981093,22.940097&#39;, &#39;distance&#39;: &#39;308.794&#39;, &#39;tel&#39;: &#39;95599&#39;, &#39;type&#39;: &#39;金融保险服务;银行;中国农业银行&#39;}, {&#39;id&#39;: &#39;B02F50WIA6&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;西樵镇官山江浦西路52号&#39;, &#39;poiweight&#39;: &#39;0.238489&#39;, &#39;name&#39;: &#39;南海农商银行(西樵樵山分理处)&#39;, &#39;location&#39;: &#39;112.979978,22.939763&#39;, &#39;distance&#39;: &#39;337.583&#39;, &#39;tel&#39;: &#39;0757-86886672;0757-86888493&#39;, &#39;type&#39;: &#39;金融保险服务;银行;农村商业银行&#39;}, {&#39;id&#39;: &#39;B02F508GQK&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;江浦西路43号附近&#39;, &#39;poiweight&#39;: &#39;0.178883&#39;, &#39;name&#39;: &#39;西樵镇公有资产管理委员会办公室&#39;, &#39;location&#39;: &#39;112.980670,22.939922&#39;, &#39;distance&#39;: &#39;310.012&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;政府机构及社会团体;政府机关;乡镇级政府及事业单位&#39;}, {&#39;id&#39;: &#39;B02F505HAL&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;西樵镇&#39;, &#39;poiweight&#39;: &#39;0.321232&#39;, &#39;name&#39;: &#39;西樵供销大厦&#39;, &#39;location&#39;: &#39;112.980869,22.940544&#39;, &#39;distance&#39;: &#39;363.451&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;商务住宅;楼宇;商务写字楼&#39;}, {&#39;id&#39;: &#39;B0FFI4WTY5&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: [], &#39;poiweight&#39;: &#39;0.273&#39;, &#39;name&#39;: &#39;市民广场&#39;, &#39;location&#39;: &#39;112.979749,22.939598&#39;, &#39;distance&#39;: &#39;340.976&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;风景名胜;公园广场;城市广场&#39;}, {&#39;id&#39;: &#39;B02F50UWZX&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;西樵镇江浦西路59号&#39;, &#39;poiweight&#39;: &#39;0.301726&#39;, &#39;name&#39;: &#39;广东省第二荣军医院&#39;, &#39;location&#39;: &#39;112.979209,22.939514&#39;, &#39;distance&#39;: &#39;377.711&#39;, &#39;tel&#39;: &#39;0757-86845870;0757-86886531&#39;, &#39;type&#39;: &#39;医疗保健服务;综合医院;综合医院&#39;}, {&#39;id&#39;: &#39;B02F500E32&#39;, &#39;direction&#39;: &#39;Center&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;西樵山白云洞景区内&#39;, &#39;poiweight&#39;: &#39;0.470534&#39;, &#39;name&#39;: &#39;西樵山旅游度假区&#39;, &#39;location&#39;: &#39;112.982186,22.937509&#39;, &#39;distance&#39;: &#39;0&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;体育休闲服务;度假疗养场所;度假村|体育休闲服务;休闲场所;休闲场所&#39;}, {&#39;id&#39;: &#39;B02F50783V&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;西樵镇江浦西路54号&#39;, &#39;poiweight&#39;: &#39;0.258247&#39;, &#39;name&#39;: &#39;西樵购物中心&#39;, &#39;location&#39;: &#39;112.980765,22.939804&#39;, &#39;distance&#39;: &#39;293.783&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;购物服务;商场;购物中心&#39;}, {&#39;id&#39;: &#39;B02F50481S&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;西樵镇官山江浦西路54号1层101号、2层201号&#39;, &#39;poiweight&#39;: &#39;0.288176&#39;, &#39;name&#39;: &#39;中国银行(佛山南海江浦西路支行)&#39;, &#39;location&#39;: &#39;112.979279,22.940026&#39;, &#39;distance&#39;: &#39;408.643&#39;, &#39;tel&#39;: &#39;0757-86830446;0757-86880426&#39;, &#39;type&#39;: &#39;金融保险服务;银行;中国银行&#39;}, {&#39;id&#39;: &#39;B02F508GQI&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;文德路6号&#39;, &#39;poiweight&#39;: &#39;0.233703&#39;, &#39;name&#39;: &#39;西樵成人文化技术学校&#39;, &#39;location&#39;: &#39;112.979325,22.939919&#39;, &#39;distance&#39;: &#39;397.073&#39;, &#39;tel&#39;: &#39;0757-86887466;0757-86803759&#39;, &#39;type&#39;: &#39;科教文化服务;学校;成人教育&#39;}, {&#39;id&#39;: &#39;B02F505HAG&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;江浦西路江浦西路7号附近&#39;, &#39;poiweight&#39;: &#39;0.298195&#39;, &#39;name&#39;: &#39;西樵发展大厦&#39;, &#39;location&#39;: &#39;112.979236,22.939948&#39;, &#39;distance&#39;: &#39;405.996&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;商务住宅;楼宇;商务写字楼&#39;}, {&#39;id&#39;: &#39;B0FFFEOMDC&#39;, &#39;direction&#39;: &#39;东&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;校前路与登山大道交叉口西南200米&#39;, &#39;poiweight&#39;: &#39;0.174422&#39;, &#39;name&#39;: &#39;东碧社区残疾人社区康复服务站&#39;, &#39;location&#39;: &#39;112.986076,22.936684&#39;, &#39;distance&#39;: &#39;408.793&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;医疗保健服务;医疗保健服务场所;医疗保健服务场所&#39;}, {&#39;id&#39;: &#39;B02F50WXYJ&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;江浦西路50号之10-12&#39;, &#39;poiweight&#39;: &#39;0.304677&#39;, &#39;name&#39;: &#39;银鑫宾馆(高街西街)&#39;, &#39;location&#39;: &#39;112.979945,22.940113&#39;, &#39;distance&#39;: &#39;369.501&#39;, &#39;tel&#39;: &#39;0757-86859058;0757-86883873&#39;, &#39;type&#39;: &#39;住宿服务;宾馆酒店;宾馆酒店&#39;}, {&#39;id&#39;: &#39;B02F50XDD2&#39;, &#39;direction&#39;: &#39;北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;江浦西路7号&#39;, &#39;poiweight&#39;: &#39;0.139562&#39;, &#39;name&#39;: &#39;丰樵商务宾馆&#39;, &#39;location&#39;: &#39;112.982953,22.940526&#39;, &#39;distance&#39;: &#39;344.585&#39;, &#39;tel&#39;: &#39;0757-81896388&#39;, &#39;type&#39;: &#39;住宿服务;宾馆酒店;宾馆酒店&#39;}, {&#39;id&#39;: &#39;B0FFG82O45&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;长堤路40号&#39;, &#39;poiweight&#39;: &#39;0.257797&#39;, &#39;name&#39;: &#39;丽江楼&#39;, &#39;location&#39;: &#39;112.980062,22.940427&#39;, &#39;distance&#39;: &#39;390.654&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;商务住宅;住宅区;住宅小区&#39;}, {&#39;id&#39;: &#39;B0FFF365DR&#39;, &#39;direction&#39;: &#39;东南&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;西南镇北郊西樵山风景名胜区北门&#39;, &#39;poiweight&#39;: &#39;0.25388&#39;, &#39;name&#39;: &#39;西樵山风景名胜区-碧玉洞&#39;, &#39;location&#39;: &#39;112.984657,22.935688&#39;, &#39;distance&#39;: &#39;324.072&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;风景名胜;风景名胜相关;旅游景点&#39;}, {&#39;id&#39;: &#39;B0FFFEOT0N&#39;, &#39;direction&#39;: &#39;东&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;校前路与登山大道交叉口西南200米&#39;, &#39;poiweight&#39;: &#39;0.142997&#39;, &#39;name&#39;: &#39;中共东碧社区总支部委员会&#39;, &#39;location&#39;: &#39;112.986071,22.936682&#39;, &#39;distance&#39;: &#39;408.343&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;政府机构及社会团体;政府机关;乡镇以下级政府及事业单位&#39;}, {&#39;id&#39;: &#39;B0FFFEOMDE&#39;, &#39;direction&#39;: &#39;东&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;高街西大街83&#39;, &#39;poiweight&#39;: &#39;0.142997&#39;, &#39;name&#39;: &#39;东碧社区居委会&#39;, &#39;location&#39;: &#39;112.986074,22.936685&#39;, &#39;distance&#39;: &#39;408.544&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;政府机构及社会团体;政府机关;乡镇以下级政府及事业单位&#39;}, {&#39;id&#39;: &#39;B0FFFEOKX2&#39;, &#39;direction&#39;: &#39;东&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;校前路与登山大道交叉口西南200米&#39;, &#39;poiweight&#39;: &#39;0.142997&#39;, &#39;name&#39;: &#39;西樵镇东碧社区党支部委员会&#39;, &#39;location&#39;: &#39;112.986074,22.936682&#39;, &#39;distance&#39;: &#39;408.62&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;政府机构及社会团体;政府机关;乡镇以下级政府及事业单位&#39;}, {&#39;id&#39;: &#39;B0FFGJFUQE&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;江浦西路73号&#39;, &#39;poiweight&#39;: &#39;0.251124&#39;, &#39;name&#39;: &#39;兆丰楼&#39;, &#39;location&#39;: &#39;112.978428,22.939437&#39;, &#39;distance&#39;: &#39;440.542&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;商务住宅;楼宇;商务写字楼&#39;}, {&#39;id&#39;: &#39;B02F5079GA&#39;, &#39;direction&#39;: &#39;东&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;登山大道7附近&#39;, &#39;poiweight&#39;: &#39;0.562503&#39;, &#39;name&#39;: &#39;西樵山文化娱乐广场&#39;, &#39;location&#39;: &#39;112.986303,22.936486&#39;, &#39;distance&#39;: &#39;436.678&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;风景名胜;公园广场;城市广场&#39;}, {&#39;id&#39;: &#39;B02F507C7A&#39;, &#39;direction&#39;: &#39;东&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;南海区&#39;, &#39;poiweight&#39;: &#39;0.268009&#39;, &#39;name&#39;: &#39;东碧社区&#39;, &#39;location&#39;: &#39;112.986074,22.936685&#39;, &#39;distance&#39;: &#39;408.544&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;地名地址信息;普通地名;村庄级地名&#39;}, {&#39;id&#39;: &#39;B0FFG9WTRI&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;西樵镇江浦西路59号&#39;, &#39;poiweight&#39;: &#39;0.282822&#39;, &#39;name&#39;: &#39;广东省第二荣军医院康复楼&#39;, &#39;location&#39;: &#39;112.979290,22.939660&#39;, &#39;distance&#39;: &#39;381.023&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;医疗保健服务;综合医院;综合医院&#39;}, {&#39;id&#39;: &#39;B02F50WIV0&#39;, &#39;direction&#39;: &#39;东北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;江浦东路13号金典广场F1层&#39;, &#39;poiweight&#39;: &#39;0.238489&#39;, &#39;name&#39;: &#39;南海农商银行(西樵登山分理处)&#39;, &#39;location&#39;: &#39;112.985753,22.940227&#39;, &#39;distance&#39;: &#39;474.112&#39;, &#39;tel&#39;: &#39;0757-86887611&#39;, &#39;type&#39;: &#39;金融保险服务;银行;农村商业银行&#39;}, {&#39;id&#39;: &#39;B0FFFEOXKY&#39;, &#39;direction&#39;: &#39;东&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;登山大道1号&#39;, &#39;poiweight&#39;: &#39;0.176824&#39;, &#39;name&#39;: &#39;西樵镇行政审批制作改革领导小组办公室&#39;, &#39;location&#39;: &#39;112.986500,22.936892&#39;, &#39;distance&#39;: &#39;447.071&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;政府机构及社会团体;政府机关;乡镇级政府及事业单位&#39;}, {&#39;id&#39;: &#39;B0FFFEOWSD&#39;, &#39;direction&#39;: &#39;东&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;东碧社区江浦东路西樵镇行政服务中心&#39;, &#39;poiweight&#39;: &#39;0.176824&#39;, &#39;name&#39;: &#39;西樵镇建设工程竣工联合验收办公室&#39;, &#39;location&#39;: &#39;112.986513,22.936890&#39;, &#39;distance&#39;: &#39;448.425&#39;, &#39;tel&#39;: [], &#39;type&#39;: &#39;政府机构及社会团体;政府机关;乡镇级政府及事业单位&#39;}, {&#39;id&#39;: &#39;B02F510L8L&#39;, &#39;direction&#39;: &#39;西北&#39;, &#39;businessarea&#39;: &#39;西樵&#39;, &#39;address&#39;: &#39;西樵镇江浦西路78号(旧车站沟通100旁)&#39;, &#39;poiweight&#39;: &#39;0.238489&#39;, &#39;name&#39;: &#39;南海农商银行(西樵官山支行)&#39;, &#39;location&#39;: &#39;112.977981,22.939629&#39;, &#39;distance&#39;: &#39;490.927&#39;, &#39;tel&#39;: &#39;0757-86888493&#39;, &#39;type&#39;: &#39;金融保险服务;银行;农村商业银行&#39;}]}, &#39;info&#39;: &#39;OK&#39;, &#39;infocode&#39;: &#39;10000&#39;}
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="2.&#36335;&#24452;&#35268;&#21010;">2.&#36335;&#24452;&#35268;&#21010;<a class="anchor-link" href="#2.&#36335;&#24452;&#35268;&#21010;">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4 id="1.0-&#27493;&#34892;&#36335;&#24452;&#35268;&#21010;&#65306;&#21487;&#20197;&#35268;&#21010;100KM&#20197;&#20869;&#30340;&#27493;&#34892;&#36890;&#21220;&#26041;&#26696;">1.0 &#27493;&#34892;&#36335;&#24452;&#35268;&#21010;&#65306;&#21487;&#20197;&#35268;&#21010;100KM&#20197;&#20869;&#30340;&#27493;&#34892;&#36890;&#21220;&#26041;&#26696;<a class="anchor-link" href="#1.0-&#27493;&#34892;&#36335;&#24452;&#35268;&#21010;&#65306;&#21487;&#20197;&#35268;&#21010;100KM&#20197;&#20869;&#30340;&#27493;&#34892;&#36890;&#21220;&#26041;&#26696;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>思考：可以步行、公交等条件下寻找最优路径，可能含有推荐算法？</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[266]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">walking</span><span class="p">(</span><span class="n">origin</span><span class="p">,</span><span class="n">destination</span><span class="p">,</span><span class="n">sig</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span><span class="o">-&gt;</span><span class="nb">dict</span><span class="p">:</span>
    <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;https://restapi.amap.com/v3/direction/walking?parameters&#39;</span>
    <span class="n">params</span><span class="o">=</span><span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span><span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;origin&#39;</span><span class="p">:</span><span class="n">origin</span><span class="p">,</span>
        <span class="s1">&#39;destination&#39;</span><span class="p">:</span><span class="n">destination</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
    <span class="k">return</span> <span class="n">data</span>
</pre></div>

    </div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[120]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">中山大学南方学院1号实验楼</span> <span class="o">=</span> <span class="n">geocode</span><span class="p">(</span><span class="s1">&#39;广东省广州市从化区中山大学南方学院1号实验楼&#39;</span><span class="p">)</span>
<span class="n">中山大学南方学院1号实验楼_location</span> <span class="o">=</span> <span class="n">中山大学南方学院1号实验楼</span><span class="p">[</span><span class="s1">&#39;geocodes&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;location&#39;</span><span class="p">]</span>
<span class="n">中大南方_location</span> <span class="o">=</span> <span class="n">中大南方</span><span class="p">[</span><span class="s1">&#39;geocodes&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;location&#39;</span><span class="p">]</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;(起点)中大南方_location:&quot;</span><span class="p">,</span><span class="n">中大南方_location</span><span class="p">,</span><span class="s2">&quot;(终点)中山大学南方学院1号实验楼_location:&quot;</span><span class="p">,</span><span class="n">中山大学南方学院1号实验楼_location</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>(起点)中大南方_location: 113.679287,23.632575 (终点)中山大学南方学院1号实验楼_location: 113.680328,23.634269
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[121]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">中大南方_中山大学南方学院1号实验楼</span> <span class="o">=</span> <span class="n">walking</span><span class="p">(</span><span class="n">中大南方_location</span><span class="p">,</span><span class="n">中山大学南方学院1号实验楼_location</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[122]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">中大南方_中山大学南方学院1号实验楼</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt output_prompt">Out[122]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>{&#39;status&#39;: &#39;1&#39;,
 &#39;info&#39;: &#39;ok&#39;,
 &#39;infocode&#39;: &#39;10000&#39;,
 &#39;count&#39;: &#39;1&#39;,
 &#39;route&#39;: {&#39;origin&#39;: &#39;113.679287,23.632575&#39;,
  &#39;destination&#39;: &#39;113.680328,23.634269&#39;,
  &#39;paths&#39;: [{&#39;distance&#39;: &#39;355&#39;,
    &#39;duration&#39;: &#39;284&#39;,
    &#39;steps&#39;: [{&#39;instruction&#39;: &#39;向东步行101米左转&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;101&#39;,
      &#39;duration&#39;: &#39;81&#39;,
      &#39;polyline&#39;: &#39;113.679592,23.632491;113.680586,23.632522&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;向北步行199米左转&#39;,
      &#39;orientation&#39;: &#39;北&#39;,
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;199&#39;,
      &#39;duration&#39;: &#39;159&#39;,
      &#39;polyline&#39;: &#39;113.680586,23.632522;113.680573,23.632674;113.680577,23.63283;113.680629,23.633012;113.680877,23.633442;113.680959,23.63378;113.680959,23.63378;113.680959,23.633954;113.680872,23.63424&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;向西步行55米到达目的地&#39;,
      &#39;orientation&#39;: &#39;西&#39;,
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;55&#39;,
      &#39;duration&#39;: &#39;44&#39;,
      &#39;polyline&#39;: &#39;113.680868,23.63424;113.680603,23.63424;113.680603,23.63424;113.68033,23.63424&#39;,
      &#39;action&#39;: [],
      &#39;assistant_action&#39;: &#39;到达目的地&#39;,
      &#39;walk_type&#39;: &#39;0&#39;}]}]}}</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[123]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">广东省第二荣军医院</span> <span class="o">=</span> <span class="n">geocode</span><span class="p">(</span><span class="s1">&#39;广东省广州市南海区广东省第二荣军医院&#39;</span><span class="p">)</span>
<span class="n">广东省第二荣军医院_location</span> <span class="o">=</span> <span class="n">广东省第二荣军医院</span><span class="p">[</span><span class="s1">&#39;geocodes&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;location&#39;</span><span class="p">]</span>
<span class="n">西樵山_location</span> <span class="o">=</span> <span class="n">西樵山</span><span class="p">[</span><span class="s1">&#39;geocodes&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;location&#39;</span><span class="p">]</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;(起点)西樵山_location:&quot;</span><span class="p">,</span><span class="n">西樵山_location</span><span class="p">,</span><span class="s2">&quot;(终点)广东省第二荣军医院_location:&quot;</span><span class="p">,</span><span class="n">广东省第二荣军医院_location</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>(起点)西樵山_location: 112.982186,22.937509 (终点)广东省第二荣军医院_location: 113.294532,23.091047
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[124]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">西樵山_广东省第二荣军医院</span> <span class="o">=</span> <span class="n">walking</span><span class="p">(</span><span class="n">西樵山_location</span><span class="p">,</span><span class="n">广东省第二荣军医院_location</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[125]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">西樵山_广东省第二荣军医院</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt output_prompt">Out[125]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>{&#39;status&#39;: &#39;1&#39;,
 &#39;info&#39;: &#39;ok&#39;,
 &#39;infocode&#39;: &#39;10000&#39;,
 &#39;count&#39;: &#39;1&#39;,
 &#39;route&#39;: {&#39;origin&#39;: &#39;112.982186,22.937509&#39;,
  &#39;destination&#39;: &#39;113.294532,23.091047&#39;,
  &#39;paths&#39;: [{&#39;distance&#39;: &#39;42691&#39;,
    &#39;duration&#39;: &#39;34153&#39;,
    &#39;steps&#39;: [{&#39;instruction&#39;: &#39;向北步行64米左转&#39;,
      &#39;orientation&#39;: &#39;北&#39;,
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;64&#39;,
      &#39;duration&#39;: &#39;51&#39;,
      &#39;polyline&#39;: &#39;112.981094,22.937422;112.981068,22.937795;112.981094,22.937999&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;步行178米向右前方行走&#39;,
      &#39;orientation&#39;: [],
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;178&#39;,
      &#39;duration&#39;: &#39;142&#39;,
      &#39;polyline&#39;: &#39;112.981094,22.937999;112.980907,22.938103;112.98082,22.938194;112.980807,22.938286;112.980946,22.938602;112.981115,22.938785;112.981732,22.939006&#39;,
      &#39;action&#39;: &#39;向右前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;步行234米右转&#39;,
      &#39;orientation&#39;: [],
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;234&#39;,
      &#39;duration&#39;: &#39;187&#39;,
      &#39;polyline&#39;: &#39;112.981732,22.939006;112.982231,22.938954;112.982374,22.939015;112.982374,22.939123;112.982096,22.94049&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿江浦路向东步行494米直行&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;江浦路&#39;,
      &#39;distance&#39;: &#39;494&#39;,
      &#39;duration&#39;: &#39;395&#39;,
      &#39;polyline&#39;: &#39;112.982092,22.94049;112.982656,22.94066;112.982656,22.94066;112.982899,22.940734;112.982899,22.940734;112.98319,22.940825;112.983572,22.940903;112.983572,22.940903;112.983772,22.940903;112.983932,22.940881;112.983932,22.940881;112.98487,22.940642;112.985095,22.940608;112.985304,22.940599;112.985304,22.940599;112.985434,22.940599;112.985434,22.940599;112.985516,22.940573;112.985898,22.940621;112.985898,22.940621;112.986372,22.940755;112.986372,22.940755;112.986402,22.940764;112.986402,22.940764;112.986736,22.940868;112.986736,22.940868;112.986784,22.940885&#39;,
      &#39;action&#39;: &#39;直行&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿江浦东路向东北步行787米&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;江浦东路&#39;,
      &#39;distance&#39;: &#39;787&#39;,
      &#39;duration&#39;: &#39;630&#39;,
      &#39;polyline&#39;: &#39;112.986784,22.940885;112.987457,22.941094;112.987457,22.941094;112.988003,22.941285;112.988003,22.941285;112.988064,22.941311;112.988064,22.941311;112.988806,22.941645;112.988806,22.941645;112.989462,22.941923;112.989462,22.941923;112.989896,22.942105;112.990126,22.942222;112.990295,22.942322;112.990508,22.942491;112.990508,22.942491;112.990933,22.942873;112.990933,22.942873;112.991115,22.943043;112.991176,22.943125;112.991176,22.943125;112.991467,22.94342;112.991467,22.94342;112.99197,22.943863;112.99197,22.943863;112.992522,22.944332;112.992522,22.944332;112.993116,22.944774&#39;,
      &#39;action&#39;: [],
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿江浦东路向东步行860米直行&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;江浦东路&#39;,
      &#39;distance&#39;: &#39;860&#39;,
      &#39;duration&#39;: &#39;688&#39;,
      &#39;polyline&#39;: &#39;112.993116,22.944774;112.993186,22.944852;112.993641,22.945122;112.993641,22.945122;112.994314,22.945447;112.994314,22.945447;112.9948,22.945703;112.9948,22.945703;112.995039,22.945807;112.995039,22.945807;112.995551,22.946037;112.995551,22.946037;112.995916,22.946176;112.995916,22.946176;112.996246,22.946289;112.996771,22.946441;112.996771,22.946441;112.997031,22.946506;112.997031,22.946506;112.997174,22.946532;112.997174,22.946532;112.99816,22.946641;112.998403,22.946636;112.998655,22.946584;112.998655,22.946584;112.999015,22.946471;112.999015,22.946471;112.999418,22.946354;112.999418,22.946354;112.999792,22.946259;112.999792,22.946259;113.000013,22.946224;113.000126,22.946224;113.000126,22.946224;113.000347,22.946263;113.000347,22.946263;113.000525,22.946328;113.000525,22.946328;113.000898,22.946506;113.000981,22.946528&#39;,
      &#39;action&#39;: &#39;直行&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿363省道向东北步行841米向右前方行走&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;363省道&#39;,
      &#39;distance&#39;: &#39;841&#39;,
      &#39;duration&#39;: &#39;673&#39;,
      &#39;polyline&#39;: &#39;113.000981,22.946528;113.001693,22.946905;113.001693,22.946905;113.003333,22.947765;113.003333,22.947765;113.005256,22.948767;113.005256,22.948767;113.007118,22.949753;113.007118,22.949753;113.008147,22.950265&#39;,
      &#39;action&#39;: &#39;向右前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿吉利大道西向东步行1116米&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;吉利大道西&#39;,
      &#39;distance&#39;: &#39;1116&#39;,
      &#39;duration&#39;: &#39;893&#39;,
      &#39;polyline&#39;: &#39;113.008147,22.950265;113.008268,22.950243;113.00878,22.950273;113.009557,22.950365;113.009878,22.95046;113.01013,22.950577;113.01013,22.950577;113.010725,22.950833;113.010725,22.950833;113.01151,22.951033;113.01151,22.951033;113.012344,22.951198;113.012344,22.951198;113.012661,22.951263;113.012661,22.951263;113.013798,22.951493;113.014701,22.951714;113.014852,22.951823;113.014852,22.951823;113.015273,22.951892;113.015273,22.951892;113.01592,22.951975;113.016402,22.952018;113.016402,22.952018;113.01747,22.952114;113.01747,22.952114;113.017951,22.95214;113.017951,22.95214;113.018429,22.952179;113.018429,22.952179;113.018767,22.952214&#39;,
      &#39;action&#39;: [],
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿吉利大道西向东步行2348米直行&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;吉利大道西&#39;,
      &#39;distance&#39;: &#39;2348&#39;,
      &#39;duration&#39;: &#39;1878&#39;,
      &#39;polyline&#39;: &#39;113.018767,22.952214;113.021003,22.952383;113.021003,22.952383;113.022834,22.952526;113.022834,22.952526;113.024054,22.952609;113.024054,22.952609;113.0251,22.952682;113.0251,22.952682;113.025755,22.952739;113.025755,22.952739;113.026953,22.952847;113.026953,22.952847;113.027127,22.95286;113.027127,22.95286;113.027821,22.952912;113.027821,22.952912;113.028255,22.952938;113.028255,22.952938;113.029783,22.953034;113.029783,22.953034;113.030256,22.95306;113.030256,22.95306;113.031523,22.953099;113.031523,22.953099;113.031628,22.953103;113.031628,22.953103;113.031697,22.953103;113.031697,22.953103;113.032261,22.953142;113.032261,22.953142;113.032912,22.953186;113.032912,22.953186;113.03411,22.953286;113.034714,22.95339;113.035048,22.95349;113.035048,22.95349;113.037899,22.953624;113.037899,22.953624;113.038268,22.953628;113.038872,22.953668;113.038872,22.953668;113.03941,22.953733;113.03941,22.953733;113.039761,22.953772;113.039761,22.953772;113.041107,22.95395;113.041107,22.95395;113.041623,22.953989;113.041623,22.953989;113.041662,22.953993&#39;,
      &#39;action&#39;: &#39;直行&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿吉利大道东向东步行2616米向右前方行走&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;吉利大道东&#39;,
      &#39;distance&#39;: &#39;2616&#39;,
      &#39;duration&#39;: &#39;2093&#39;,
      &#39;polyline&#39;: &#39;113.041662,22.953993;113.043655,22.954115;113.043655,22.954115;113.04533,22.954214;113.046094,22.954306;113.046094,22.954306;113.046523,22.954397;113.047391,22.954627;113.047391,22.954627;113.047444,22.954644;113.047444,22.954644;113.049206,22.955213;113.049206,22.955213;113.049583,22.95533;113.049583,22.95533;113.049865,22.955421;113.049865,22.955421;113.05151,22.956068;113.05151,22.956068;113.051984,22.956267;113.051984,22.956267;113.052105,22.956315;113.052105,22.956315;113.05286,22.956628;113.05286,22.956628;113.053542,22.956888;113.053542,22.956888;113.053806,22.95697;113.05418,22.957075;113.054839,22.957187;113.054839,22.957187;113.055503,22.957248;113.05579,22.957248;113.056385,22.957227;113.056988,22.957157;113.056988,22.957157;113.057457,22.95707;113.057457,22.95707;113.057773,22.956992;113.057773,22.956992;113.057891,22.956957;113.057891,22.956957;113.058294,22.956832;113.058294,22.956832;113.059536,22.956319;113.059536,22.956319;113.060117,22.956111;113.060117,22.956111;113.060734,22.955942;113.060734,22.955942;113.061215,22.955833;113.061215,22.955833;113.061597,22.955764;113.061597,22.955764;113.062352,22.955677;113.062643,22.955664;113.063099,22.955655;113.063099,22.955655;113.063733,22.955668;113.063733,22.955668;113.064939,22.955799;113.064939,22.955799;113.066419,22.955985&#39;,
      &#39;action&#39;: &#39;向右前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿乐从大道辅路向东步行672米左转&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;乐从大道辅路&#39;,
      &#39;distance&#39;: &#39;672&#39;,
      &#39;duration&#39;: &#39;538&#39;,
      &#39;polyline&#39;: &#39;113.066419,22.955985;113.066563,22.955933;113.068546,22.956176;113.068546,22.956176;113.068906,22.95622;113.068906,22.95622;113.069258,22.956263;113.069258,22.956263;113.071476,22.956536;113.071476,22.956536;113.071766,22.956563;113.071766,22.956563;113.071914,22.956584;113.071914,22.956584;113.072361,22.956632;113.072951,22.956654&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿葛岸工业大道向东北步行764米右转&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;葛岸工业大道&#39;,
      &#39;distance&#39;: &#39;764&#39;,
      &#39;duration&#39;: &#39;611&#39;,
      &#39;polyline&#39;: &#39;113.072951,22.956654;113.072982,22.956714;113.072982,22.956714;113.073051,22.956823;113.073051,22.956823;113.073116,22.956988;113.073116,22.956988;113.073346,22.957487;113.073346,22.957487;113.073516,22.958016;113.073516,22.958016;113.073746,22.958637;113.073746,22.958637;113.07395,22.959188;113.07408,22.959488;113.074744,22.960851;113.074987,22.961328;113.074987,22.961328;113.075339,22.96204;113.075851,22.963034&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿新马路向东步行1768米左转&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;新马路&#39;,
      &#39;distance&#39;: &#39;1768&#39;,
      &#39;duration&#39;: &#39;1414&#39;,
      &#39;polyline&#39;: &#39;113.075851,22.963034;113.076024,22.962995;113.077101,22.962582;113.078251,22.962205;113.078251,22.962205;113.079006,22.961992;113.079006,22.961992;113.079145,22.961949;113.079145,22.961949;113.080703,22.961523;113.081059,22.961415;113.081198,22.961363;113.081471,22.96122;113.081593,22.961146;113.081901,22.960907;113.082075,22.960742;113.082075,22.960742;113.082457,22.960386;113.082457,22.960386;113.083073,22.959805;113.083073,22.959805;113.083585,22.959327;113.083585,22.959327;113.083958,22.958971;113.083958,22.958971;113.084501,22.958468;113.084501,22.958468;113.08454,22.958429;113.08454,22.958429;113.084783,22.958199;113.084783,22.958199;113.085035,22.95799;113.085035,22.95799;113.085204,22.957878;113.085204,22.957878;113.085508,22.957747;113.085768,22.9577;113.085768,22.9577;113.085972,22.9577;113.085972,22.9577;113.086094,22.9577;113.086094,22.9577;113.086376,22.957734;113.086376,22.957734;113.086484,22.957747;113.086484,22.957747;113.086654,22.957799;113.086654,22.957799;113.087027,22.957925;113.087027,22.957925;113.087491,22.958125;113.088155,22.958377;113.088155,22.958377;113.088247,22.958407;113.088247,22.958407;113.088307,22.958429;113.088307,22.958429;113.088559,22.958511;113.088559,22.958511;113.089019,22.958655;113.089019,22.958655;113.089262,22.958737;113.089262,22.958737;113.089744,22.95888;113.089744,22.95888;113.089957,22.958924;113.089957,22.958924;113.090187,22.958971;113.090187,22.958971;113.090851,22.959149;113.090851,22.959149;113.091094,22.959232&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿佛山大道南辅路向北步行307米直行&#39;,
      &#39;orientation&#39;: &#39;北&#39;,
      &#39;road&#39;: &#39;佛山大道南辅路&#39;,
      &#39;distance&#39;: &#39;307&#39;,
      &#39;duration&#39;: &#39;246&#39;,
      &#39;polyline&#39;: &#39;113.091094,22.959232;113.091168,22.960191;113.091168,22.960191;113.091228,22.96059;113.091228,22.96059;113.091285,22.960842;113.091428,22.961246;113.091589,22.961567;113.091589,22.961567;113.091701,22.961788;113.091701,22.961931&#39;,
      &#39;action&#39;: &#39;直行&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿佛山大道南向东北步行39米直行&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;佛山大道南&#39;,
      &#39;distance&#39;: &#39;39&#39;,
      &#39;duration&#39;: &#39;31&#39;,
      &#39;polyline&#39;: &#39;113.091697,22.961931;113.091901,22.962235&#39;,
      &#39;action&#39;: &#39;直行&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿佛山大道中向北步行2806米右转&#39;,
      &#39;orientation&#39;: &#39;北&#39;,
      &#39;road&#39;: &#39;佛山大道中&#39;,
      &#39;distance&#39;: &#39;2806&#39;,
      &#39;duration&#39;: &#39;2245&#39;,
      &#39;polyline&#39;: &#39;113.091901,22.962235;113.092283,22.962808;113.092283,22.962808;113.092739,22.963464;113.092739,22.963464;113.092947,22.963772;113.092947,22.963772;113.093307,22.964353;113.093307,22.964353;113.093754,22.965104;113.093754,22.965104;113.094076,22.965612;113.094076,22.965612;113.094345,22.966059;113.094345,22.966059;113.09464,22.966545;113.09464,22.966545;113.094861,22.966879;113.095234,22.967391;113.095234,22.967391;113.095273,22.967431;113.095273,22.967431;113.095417,22.96763;113.095417,22.96763;113.095634,22.967912;113.095846,22.968242;113.096037,22.968568;113.09625,22.968989;113.096432,22.969405;113.096432,22.969405;113.096771,22.9702;113.096771,22.9702;113.097496,22.971936;113.097496,22.971936;113.097569,22.972118;113.097569,22.972118;113.097622,22.972227;113.097622,22.972227;113.097669,22.972357;113.097669,22.972357;113.097717,22.97247;113.097717,22.97247;113.097969,22.973064;113.098134,22.973481;113.098255,22.973837;113.098416,22.974453;113.098494,22.974909;113.098615,22.976306;113.098685,22.977001;113.098685,22.977001;113.098759,22.977904;113.098876,22.979097;113.098876,22.979097;113.098958,22.980026;113.099071,22.980833;113.099197,22.981432;113.099423,22.982326;113.099423,22.982326;113.099674,22.983186;113.099674,22.983186;113.099822,22.983607;113.099822,22.983607;113.100174,22.984818;113.100174,22.984818;113.100339,22.985365;113.100339,22.985365;113.100378,22.985503;113.100378,22.985503;113.100425,22.985677;113.100425,22.985677;113.10049,22.985929;113.10049,22.985929;113.100516,22.986029&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿澜石一路向东步行706米左转&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;澜石一路&#39;,
      &#39;distance&#39;: &#39;706&#39;,
      &#39;duration&#39;: &#39;565&#39;,
      &#39;polyline&#39;: &#39;113.100516,22.986029;113.10079,22.985981;113.10079,22.985981;113.100981,22.985942;113.100981,22.985942;113.101988,22.985859;113.101988,22.985859;113.103537,22.985738;113.103537,22.985738;113.105139,22.985569;113.105139,22.985569;113.105282,22.985551;113.105282,22.985551;113.105977,22.985495;113.105977,22.985495;113.106285,22.98546;113.106285,22.98546;113.107305,22.985352;113.107305,22.985352;113.107405,22.985343&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿汾江南路向北步行891米右转&#39;,
      &#39;orientation&#39;: &#39;北&#39;,
      &#39;road&#39;: &#39;汾江南路&#39;,
      &#39;distance&#39;: &#39;891&#39;,
      &#39;duration&#39;: &#39;713&#39;,
      &#39;polyline&#39;: &#39;113.107405,22.985339;113.107726,22.986367;113.10799,22.987335;113.10799,22.987335;113.108051,22.987556;113.108051,22.987556;113.108212,22.988103;113.108212,22.988103;113.108563,22.989431;113.108563,22.989431;113.108581,22.989518;113.108581,22.989518;113.108681,22.990434;113.108715,22.990977;113.108685,22.9927;113.108685,22.9927;113.108702,22.992943;113.108702,22.992943;113.108715,22.993268&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿魁奇一路向东步行862米向左前方行走&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;魁奇一路&#39;,
      &#39;distance&#39;: &#39;862&#39;,
      &#39;duration&#39;: &#39;690&#39;,
      &#39;polyline&#39;: &#39;113.108715,22.993268;113.109258,22.993225;113.113494,22.992977;113.113494,22.992977;113.116506,22.992782;113.116506,22.992782;113.116836,22.992852;113.116927,22.99293;113.116927,22.99293;113.117001,22.993056&#39;,
      &#39;action&#39;: &#39;向左前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿华远东路向北步行193米右转&#39;,
      &#39;orientation&#39;: &#39;北&#39;,
      &#39;road&#39;: &#39;华远东路&#39;,
      &#39;distance&#39;: &#39;193&#39;,
      &#39;duration&#39;: &#39;154&#39;,
      &#39;polyline&#39;: &#39;113.117001,22.993056;113.117031,22.993095;113.117031,22.993398;113.117031,22.993398;113.117031,22.993902;113.117031,22.993902;113.11704,22.994796&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿深宁路向东步行628米向右前方行走&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;深宁路&#39;,
      &#39;distance&#39;: &#39;628&#39;,
      &#39;duration&#39;: &#39;502&#39;,
      &#39;polyline&#39;: &#39;113.11704,22.994796;113.118003,22.994805;113.118003,22.994805;113.118216,22.994805;113.118216,22.994805;113.11898,22.994805;113.119076,22.994831;113.119076,22.994831;113.119887,22.994818;113.119887,22.994818;113.120681,22.994805;113.120681,22.994805;113.120894,22.994805;113.120894,22.994805;113.12194,22.994796;113.12194,22.994796;113.123203,22.994761&#39;,
      &#39;action&#39;: &#39;向右前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿深宁路向东步行855米向右前方行走&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;深宁路&#39;,
      &#39;distance&#39;: &#39;855&#39;,
      &#39;duration&#39;: &#39;684&#39;,
      &#39;polyline&#39;: &#39;113.123203,22.994757;113.123403,22.994731;113.123403,22.994731;113.12444,22.994727;113.12444,22.994727;113.12576,22.994705;113.12576,22.994705;113.126645,22.994679;113.126645,22.994679;113.126966,22.994666;113.126966,22.994666;113.127049,22.994666;113.127049,22.994666;113.127439,22.994766;113.127439,22.994766;113.12941,22.995295;113.12941,22.995295;113.130477,22.995595;113.130477,22.995595;113.131415,22.995838&#39;,
      &#39;action&#39;: &#39;向右前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿深华路向东步行1334米左转&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;深华路&#39;,
      &#39;distance&#39;: &#39;1334&#39;,
      &#39;duration&#39;: &#39;1067&#39;,
      &#39;polyline&#39;: &#39;113.131415,22.995838;113.131606,22.995812;113.131606,22.995812;113.132856,22.995825;113.132856,22.995825;113.133915,22.995838;113.133915,22.995838;113.134297,22.995838;113.134297,22.995838;113.135525,22.995833;113.135525,22.995833;113.135603,22.995833;113.135603,22.995833;113.136962,22.995855;113.136962,22.995855;113.138203,22.995868;113.138203,22.995868;113.138646,22.995872;113.138646,22.995872;113.139592,22.99589;113.139592,22.99589;113.139653,22.99589;113.139653,22.99589;113.141914,22.99589;113.141914,22.99589;113.142852,22.995894;113.142852,22.995894;113.143806,22.995907;113.143806,22.995907;113.143958,22.995907;113.143958,22.995907;113.144301,22.995911;113.144301,22.995911;113.144505,22.995959&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿南海大道南向北步行335米向右前方行走&#39;,
      &#39;orientation&#39;: &#39;北&#39;,
      &#39;road&#39;: &#39;南海大道南&#39;,
      &#39;distance&#39;: &#39;335&#39;,
      &#39;duration&#39;: &#39;268&#39;,
      &#39;polyline&#39;: &#39;113.144505,22.995959;113.144553,22.997413;113.144553,22.997413;113.144566,22.998989&#39;,
      &#39;action&#39;: &#39;向右前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿绿景东路步行82米向右前方行走&#39;,
      &#39;orientation&#39;: [],
      &#39;road&#39;: &#39;绿景东路&#39;,
      &#39;distance&#39;: &#39;82&#39;,
      &#39;duration&#39;: &#39;66&#39;,
      &#39;polyline&#39;: &#39;113.144566,22.998989;113.144666,22.999271;113.144744,22.999349;113.144744,22.999349;113.144896,22.999444;113.145069,22.999518&#39;,
      &#39;action&#39;: &#39;向右前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿绿景东路向东步行819米左转&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;绿景东路&#39;,
      &#39;distance&#39;: &#39;819&#39;,
      &#39;duration&#39;: &#39;655&#39;,
      &#39;polyline&#39;: &#39;113.145069,22.999518;113.146063,22.999275;113.146063,22.999275;113.146827,22.999028;113.147435,22.998763;113.147435,22.998763;113.147604,22.998694;113.147604,22.998694;113.147947,22.99855;113.148793,22.998251;113.148793,22.998251;113.149197,22.998112;113.149657,22.997977;113.149657,22.997977;113.14987,22.997912;113.14987,22.997912;113.15003,22.99786;113.15003,22.99786;113.151411,22.997461;113.151411,22.997461;113.15158,22.997405;113.15158,22.997405;113.151905,22.997305;113.152153,22.997192;113.152153,22.997192;113.152344,22.997144;113.152344,22.997144;113.152465,22.997122;113.152465,22.997122;113.152656,22.997079&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿桂澜路向北步行177米右转&#39;,
      &#39;orientation&#39;: &#39;北&#39;,
      &#39;road&#39;: &#39;桂澜路&#39;,
      &#39;distance&#39;: &#39;177&#39;,
      &#39;duration&#39;: &#39;142&#39;,
      &#39;polyline&#39;: &#39;113.152656,22.997075;113.152661,22.997222;113.152661,22.997222;113.152687,22.9974;113.152687,22.9974;113.152687,22.997513;113.152687,22.997513;113.152791,22.998112;113.152791,22.998112;113.152878,22.998681&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;向东步行321米左转&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;321&#39;,
      &#39;duration&#39;: &#39;257&#39;,
      &#39;polyline&#39;: &#39;113.152878,22.998681;113.153698,22.998607;113.154197,22.99852;113.154227,22.998542;113.154258,22.998676;113.154319,22.998728;113.154622,22.998885;113.1548,22.999036;113.154922,22.999054;113.155104,22.999032;113.155104,22.999032;113.155742,22.99901&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿南田大道向北步行99米向右前方行走&#39;,
      &#39;orientation&#39;: &#39;北&#39;,
      &#39;road&#39;: &#39;南田大道&#39;,
      &#39;distance&#39;: &#39;99&#39;,
      &#39;duration&#39;: &#39;79&#39;,
      &#39;polyline&#39;: &#39;113.155742,22.999006;113.155812,22.99934;113.155881,22.999501;113.155881,22.999501;113.156081,22.999839&#39;,
      &#39;action&#39;: &#39;向右前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿直涌路向东北步行149米右转&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;直涌路&#39;,
      &#39;distance&#39;: &#39;149&#39;,
      &#39;duration&#39;: &#39;119&#39;,
      &#39;polyline&#39;: &#39;113.156081,22.999839;113.156194,22.99987;113.156593,23.000226;113.156593,23.000226;113.156758,23.000365;113.157018,23.000499;113.157088,23.000551;113.157209,23.000686&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿南涌大道向东步行560米左转&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;南涌大道&#39;,
      &#39;distance&#39;: &#39;560&#39;,
      &#39;duration&#39;: &#39;448&#39;,
      &#39;polyline&#39;: &#39;113.157209,23.000686;113.157331,23.000608;113.157331,23.000608;113.157912,23.000356;113.157912,23.000356;113.158034,23.000317;113.158034,23.000317;113.158299,23.000239;113.158299,23.000239;113.158637,23.000174;113.158637,23.000174;113.159054,23.000169;113.159054,23.000169;113.159405,23.000169;113.159405,23.000169;113.159492,23.000169;113.159492,23.000169;113.159926,23.000169;113.159926,23.000169;113.16043,23.000169;113.16043,23.000169;113.160742,23.000169;113.160742,23.000169;113.161276,23.000169;113.161276,23.000169;113.161862,23.000169;113.161862,23.000169;113.162535,23.000169;113.162535,23.000169;113.162604,23.000169&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿东平路向东北步行2722米向右前方行走&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;东平路&#39;,
      &#39;distance&#39;: &#39;2722&#39;,
      &#39;duration&#39;: &#39;2178&#39;,
      &#39;polyline&#39;: &#39;113.162604,23.000165;113.163963,23.004388;113.163963,23.004388;113.164336,23.005477;113.164436,23.005729;113.164579,23.006003;113.164579,23.006003;113.164627,23.006076;113.164627,23.006076;113.164661,23.006141;113.164661,23.006141;113.164722,23.006237;113.164722,23.006237;113.164922,23.006506;113.165122,23.006736;113.165352,23.006979;113.165564,23.007166;113.165868,23.007409;113.166562,23.007921;113.166562,23.007921;113.166975,23.00822;113.166975,23.00822;113.169431,23.010026;113.171241,23.011115;113.171241,23.011115;113.171506,23.011272;113.171506,23.011272;113.171619,23.011337;113.171619,23.011337;113.172522,23.011858;113.172522,23.011858;113.172574,23.011888;113.172574,23.011888;113.173194,23.012192;113.173194,23.012192;113.175022,23.012847;113.175022,23.012847;113.175525,23.013073;113.175907,23.013286;113.176267,23.013524;113.176641,23.013828;113.176641,23.013828;113.17678,23.013963;113.177114,23.014362;113.177114,23.014362;113.177669,23.015078;113.177669,23.015078;113.178394,23.016033;113.178646,23.016619;113.178646,23.016619;113.178776,23.017561;113.178776,23.017561;113.178845,23.017973&#39;,
      &#39;action&#39;: &#39;向右前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿平西大道向东北步行651米右转&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;平西大道&#39;,
      &#39;distance&#39;: &#39;651&#39;,
      &#39;duration&#39;: &#39;521&#39;,
      &#39;polyline&#39;: &#39;113.178845,23.017973;113.178937,23.018095;113.179136,23.018229;113.179136,23.018229;113.179779,23.018494;113.179779,23.018494;113.180838,23.018941;113.180951,23.019002;113.181072,23.019106;113.181072,23.019106;113.181159,23.019219;113.181159,23.019219;113.181241,23.019371;113.181241,23.019371;113.181311,23.019488;113.181311,23.019488;113.18145,23.019718;113.18145,23.019718;113.181532,23.019779;113.182014,23.020443;113.182014,23.020443;113.182205,23.020712;113.182205,23.020712;113.182396,23.020977;113.182396,23.020977;113.182561,23.021211;113.182561,23.021211;113.183034,23.021862;113.183034,23.021862;113.183155,23.022075&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿东平路向东步行768米向左前方行走&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;东平路&#39;,
      &#39;distance&#39;: &#39;768&#39;,
      &#39;duration&#39;: &#39;614&#39;,
      &#39;polyline&#39;: &#39;113.183155,23.022075;113.183876,23.021762;113.185117,23.021246;113.185117,23.021246;113.186202,23.020807;113.186528,23.020699;113.18681,23.020625;113.18681,23.020625;113.187231,23.020534;113.187717,23.020473;113.187717,23.020473;113.188229,23.020473;113.188598,23.02049;113.188598,23.02049;113.188863,23.02053;113.189184,23.020599;113.189184,23.020599;113.190174,23.020859;113.190174,23.020859;113.190243,23.020924&#39;,
      &#39;action&#39;: &#39;向左前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿平西街向东步行502米直行&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;平西街&#39;,
      &#39;distance&#39;: &#39;502&#39;,
      &#39;duration&#39;: &#39;402&#39;,
      &#39;polyline&#39;: &#39;113.190243,23.020924;113.190998,23.021163;113.190998,23.021163;113.191398,23.021276;113.191398,23.021276;113.192726,23.021623;113.192726,23.021623;113.19303,23.021697;113.19303,23.021697;113.193624,23.021871;113.193724,23.021892;113.193863,23.021892;113.193863,23.021892;113.194036,23.021853;113.194036,23.021853;113.19444,23.021701;113.194944,23.021567&#39;,
      &#39;action&#39;: &#39;直行&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿梅西道向东步行400米左转&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;梅西道&#39;,
      &#39;distance&#39;: &#39;400&#39;,
      &#39;duration&#39;: &#39;320&#39;,
      &#39;polyline&#39;: &#39;113.194944,23.021563;113.195525,23.021536;113.195525,23.021536;113.195586,23.021532;113.195586,23.021532;113.196033,23.021515;113.196211,23.021515;113.196302,23.021528;113.196302,23.021528;113.197422,23.021749;113.197422,23.021749;113.197799,23.021832;113.197799,23.021832;113.198247,23.021927;113.198828,23.022005&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿佛平五路向东北步行186米直行&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;佛平五路&#39;,
      &#39;distance&#39;: &#39;186&#39;,
      &#39;duration&#39;: &#39;149&#39;,
      &#39;polyline&#39;: &#39;113.198828,23.022005;113.199028,23.022378;113.199141,23.022535;113.199141,23.022535;113.199484,23.022899;113.199484,23.022899;113.199722,23.023064;113.200035,23.023216&#39;,
      &#39;action&#39;: &#39;直行&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿永安路向东北步行2267米&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;永安路&#39;,
      &#39;distance&#39;: &#39;2267&#39;,
      &#39;duration&#39;: &#39;1814&#39;,
      &#39;polyline&#39;: &#39;113.200035,23.023216;113.200208,23.023312;113.200208,23.023312;113.20046,23.023555;113.200681,23.023798;113.200681,23.023798;113.20076,23.02388;113.20076,23.02388;113.200825,23.023967;113.200825,23.023967;113.201072,23.024223;113.201072,23.024223;113.201215,23.024375;113.201215,23.024375;113.201641,23.024813;113.201641,23.024813;113.201858,23.025035;113.201858,23.025035;113.202283,23.025443;113.202626,23.02572;113.202626,23.02572;113.202652,23.025738;113.202652,23.025738;113.202917,23.025924;113.20375,23.026463;113.20375,23.026463;113.204809,23.027135;113.204809,23.027135;113.205161,23.027352;113.205161,23.027352;113.20523,23.027405;113.20523,23.027405;113.205642,23.027669;113.205642,23.027669;113.206055,23.02793;113.206055,23.02793;113.206458,23.028177;113.206458,23.028177;113.206984,23.028511;113.206984,23.028511;113.207556,23.02888;113.207556,23.02888;113.208082,23.029223;113.208082,23.029223;113.208715,23.029592;113.208715,23.029592;113.208898,23.029696;113.208898,23.029696;113.209015,23.029753;113.209015,23.029753;113.209119,23.0298;113.209119,23.0298;113.209631,23.030017;113.209631,23.030017;113.209974,23.030161;113.209974,23.030161;113.210273,23.030286;113.210273,23.030286;113.21122,23.030668;113.21122,23.030668;113.211332,23.03072;113.211332,23.03072;113.211645,23.030877;113.211645,23.030877;113.211875,23.031016;113.211875,23.031016;113.212179,23.03128;113.212179,23.03128;113.21237,23.031476;113.212591,23.031766;113.212591,23.031766;113.212743,23.03201;113.212856,23.032244;113.212856,23.032244;113.212934,23.032444;113.213016,23.032747;113.213016,23.032747;113.213073,23.033216;113.21306,23.033737;113.21306,23.033737;113.213047,23.034023;113.213047,23.034023;113.213016,23.034366;113.213016,23.034683;113.213043,23.035039;113.213134,23.035534;113.213134,23.035534;113.213194,23.035812;113.213194,23.035812;113.213346,23.036445;113.213346,23.036445;113.213498,23.037066;113.213498,23.037066;113.213637,23.037669&#39;,
      &#39;action&#39;: [],
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿永安路向北步行346米直行&#39;,
      &#39;orientation&#39;: &#39;北&#39;,
      &#39;road&#39;: &#39;永安路&#39;,
      &#39;distance&#39;: &#39;346&#39;,
      &#39;duration&#39;: &#39;277&#39;,
      &#39;polyline&#39;: &#39;113.213637,23.037669;113.213759,23.038155;113.213759,23.038155;113.213941,23.03888;113.214002,23.039158;113.214002,23.039158;113.214102,23.039562;113.214171,23.039826;113.214245,23.040035;113.214245,23.040035;113.214436,23.040395;113.214436,23.040395;113.214523,23.04069&#39;,
      &#39;action&#39;: &#39;直行&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿花地大道南向北步行65米向右前方行走&#39;,
      &#39;orientation&#39;: &#39;北&#39;,
      &#39;road&#39;: &#39;花地大道南&#39;,
      &#39;distance&#39;: &#39;65&#39;,
      &#39;duration&#39;: &#39;52&#39;,
      &#39;polyline&#39;: &#39;113.214523,23.04069;113.214557,23.040872;113.214605,23.041272&#39;,
      &#39;action&#39;: &#39;向右前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿花地大道南辅路向北步行117米向左前方行走&#39;,
      &#39;orientation&#39;: &#39;北&#39;,
      &#39;road&#39;: &#39;花地大道南辅路&#39;,
      &#39;distance&#39;: &#39;117&#39;,
      &#39;duration&#39;: &#39;94&#39;,
      &#39;polyline&#39;: &#39;113.214605,23.041272;113.214735,23.041428;113.214878,23.042157;113.214878,23.042283&#39;,
      &#39;action&#39;: &#39;向左前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿花地大道南辅路向西北步行39米左转&#39;,
      &#39;orientation&#39;: &#39;西北&#39;,
      &#39;road&#39;: &#39;花地大道南辅路&#39;,
      &#39;distance&#39;: &#39;39&#39;,
      &#39;duration&#39;: &#39;31&#39;,
      &#39;polyline&#39;: &#39;113.214878,23.042283;113.214861,23.042331;113.214861,23.042331;113.214718,23.042405;113.214549,23.042426&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿花地大道南辅路向南步行17米右转&#39;,
      &#39;orientation&#39;: &#39;南&#39;,
      &#39;road&#39;: &#39;花地大道南辅路&#39;,
      &#39;distance&#39;: &#39;17&#39;,
      &#39;duration&#39;: &#39;14&#39;,
      &#39;polyline&#39;: &#39;113.214544,23.042426;113.214553,23.042378;113.21454,23.042274&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;步行9米右转&#39;,
      &#39;orientation&#39;: [],
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;9&#39;,
      &#39;duration&#39;: &#39;7&#39;,
      &#39;polyline&#39;: &#39;113.214536,23.04227;113.214449,23.042287&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;步行59米左转&#39;,
      &#39;orientation&#39;: [],
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;59&#39;,
      &#39;duration&#39;: &#39;47&#39;,
      &#39;polyline&#39;: &#39;113.214444,23.042287;113.214536,23.042652;113.214714,23.042635&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;20&#39;},
     {&#39;instruction&#39;: &#39;沿花地大道南向东北步行567米&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;花地大道南&#39;,
      &#39;distance&#39;: &#39;567&#39;,
      &#39;duration&#39;: &#39;454&#39;,
      &#39;polyline&#39;: &#39;113.214714,23.04263;113.214779,23.042964;113.214779,23.042964;113.214909,23.043568;113.214909,23.043568;113.215039,23.044036;113.215039,23.044036;113.215087,23.044154;113.215278,23.044449;113.215534,23.044813;113.215955,23.045343;113.215955,23.045343;113.216033,23.045451;113.216033,23.045451;113.216259,23.045751;113.216259,23.045751;113.216398,23.045924;113.216398,23.045924;113.216727,23.046363;113.216727,23.046363;113.217161,23.046931;113.217161,23.046931;113.217305,23.047105&#39;,
      &#39;action&#39;: [],
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿花地大道南向东北步行1441米&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;花地大道南&#39;,
      &#39;distance&#39;: &#39;1441&#39;,
      &#39;duration&#39;: &#39;1153&#39;,
      &#39;polyline&#39;: &#39;113.217305,23.047105;113.217391,23.047183;113.217917,23.04783;113.218329,23.048247;113.218329,23.048247;113.218529,23.048446;113.218529,23.048446;113.219288,23.049214;113.219288,23.049214;113.220243,23.050213;113.220243,23.050213;113.220825,23.050768;113.220825,23.050768;113.22102,23.050968;113.22102,23.050968;113.221059,23.051016;113.221059,23.051016;113.221832,23.051832;113.221832,23.051832;113.222144,23.05214;113.222144,23.05214;113.223164,23.053177;113.223164,23.053177;113.22322,23.053238;113.22322,23.053238;113.223698,23.053737;113.223698,23.053737;113.223789,23.053824;113.223789,23.053824;113.224036,23.05408;113.224036,23.05408;113.224392,23.054431;113.224392,23.054431;113.224479,23.05454;113.224479,23.05454;113.224913,23.054952;113.224913,23.054952;113.225234,23.055282;113.225234,23.055282;113.225699,23.055773;113.226254,23.056341;113.226254,23.056341;113.226749,23.05684&#39;,
      &#39;action&#39;: [],
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿花地大道南步行1228米向右前方行走&#39;,
      &#39;orientation&#39;: [],
      &#39;road&#39;: &#39;花地大道南&#39;,
      &#39;distance&#39;: &#39;1228&#39;,
      &#39;duration&#39;: &#39;982&#39;,
      &#39;polyline&#39;: &#39;113.226749,23.05684;113.226814,23.057001;113.227665,23.057917;113.227852,23.058142;113.228477,23.058954;113.228477,23.058954;113.22852,23.059006;113.22852,23.059006;113.228681,23.059201;113.228681,23.059201;113.228971,23.059566;113.228971,23.059566;113.229132,23.05977;113.229132,23.05977;113.22997,23.060859;113.22997,23.060859;113.230056,23.060955;113.230056,23.060955;113.230343,23.061341;113.230343,23.061341;113.230955,23.062122;113.230955,23.062122;113.231771,23.063186;113.231771,23.063186;113.232222,23.06375;113.232222,23.06375;113.232266,23.063815;113.232266,23.063815;113.232513,23.064167;113.232513,23.064167;113.232786,23.064518;113.232786,23.064518;113.232878,23.064635;113.232878,23.064635;113.233047,23.064857;113.233047,23.064857;113.233451,23.065378;113.233451,23.065378;113.233602,23.065569;113.233602,23.065569;113.233832,23.065864&#39;,
      &#39;action&#39;: &#39;向右前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿花地大道南向东北步行22米向左前方行走&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;花地大道南&#39;,
      &#39;distance&#39;: &#39;22&#39;,
      &#39;duration&#39;: &#39;18&#39;,
      &#39;polyline&#39;: &#39;113.233832,23.065864;113.233885,23.065924;113.234015,23.065964&#39;,
      &#39;action&#39;: &#39;向左前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿花地大道南向东北步行167米直行&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;花地大道南&#39;,
      &#39;distance&#39;: &#39;167&#39;,
      &#39;duration&#39;: &#39;134&#39;,
      &#39;polyline&#39;: &#39;113.234015,23.065964;113.234054,23.066024;113.234054,23.066024;113.234084,23.066068;113.234084,23.066068;113.23497,23.067201&#39;,
      &#39;action&#39;: &#39;直行&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿鹤洞路向东北步行1243米向左前方行走&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;鹤洞路&#39;,
      &#39;distance&#39;: &#39;1243&#39;,
      &#39;duration&#39;: &#39;994&#39;,
      &#39;polyline&#39;: &#39;113.23497,23.067201;113.23513,23.067413;113.23513,23.067413;113.235295,23.06763;113.235295,23.06763;113.23576,23.068251;113.23576,23.068251;113.236029,23.068611;113.236029,23.068611;113.236272,23.068932;113.236272,23.068932;113.23648,23.069193;113.23648,23.069193;113.236797,23.069588;113.236797,23.069588;113.237114,23.069996;113.237517,23.070495;113.237517,23.070495;113.237852,23.070851;113.237852,23.070851;113.238294,23.071276;113.238759,23.071667;113.239002,23.071845;113.239002,23.071845;113.239158,23.071957;113.239158,23.071957;113.239635,23.07227;113.239635,23.07227;113.239766,23.072348;113.239766,23.072348;113.240234,23.072622;113.240234,23.072622;113.240651,23.072869;113.240651,23.072869;113.241085,23.073121;113.241085,23.073121;113.241897,23.073589;113.241897,23.073589;113.242595,23.07398;113.242595,23.07398;113.242964,23.074193;113.242964,23.074193;113.243034,23.074236;113.243034,23.074236;113.24329,23.074375;113.24329,23.074375;113.243759,23.07464;113.243759,23.07464;113.243893,23.074709&#39;,
      &#39;action&#39;: &#39;向左前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿鹤洞路向东北步行977米直行&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;鹤洞路&#39;,
      &#39;distance&#39;: &#39;977&#39;,
      &#39;duration&#39;: &#39;782&#39;,
      &#39;polyline&#39;: &#39;113.243893,23.074709;113.24401,23.074896;113.244978,23.075482;113.244978,23.075482;113.245178,23.075599;113.245178,23.075599;113.245625,23.075872;113.245625,23.075872;113.246298,23.07628;113.246298,23.07628;113.247062,23.07674;113.247062,23.07674;113.247075,23.076753;113.247075,23.076753;113.247166,23.076814;113.247166,23.076814;113.247617,23.077083;113.247617,23.077083;113.248885,23.077852;113.249462,23.078155;113.249462,23.078155;113.249891,23.078338;113.249891,23.078338;113.250395,23.078555;113.250599,23.078659;113.250599,23.078659;113.250747,23.078737;113.250747,23.078737;113.251957,23.07944&#39;,
      &#39;action&#39;: &#39;直行&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;向东北步行306米直行&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;306&#39;,
      &#39;duration&#39;: &#39;245&#39;,
      &#39;polyline&#39;: &#39;113.251957,23.07944;113.253112,23.080482;113.253112,23.080482;113.253242,23.080629;113.253242,23.080629;113.253746,23.08115;113.254049,23.081419&#39;,
      &#39;action&#39;: &#39;直行&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;30&#39;},
     {&#39;instruction&#39;: &#39;向东北步行89米右转&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;89&#39;,
      &#39;duration&#39;: &#39;71&#39;,
      &#39;polyline&#39;: &#39;113.254049,23.081419;113.254392,23.081753;113.254484,23.081901;113.254484,23.081901;113.254583,23.082053&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿沙渡路向东步行785米向左前方行走&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;沙渡路&#39;,
      &#39;distance&#39;: &#39;785&#39;,
      &#39;duration&#39;: &#39;628&#39;,
      &#39;polyline&#39;: &#39;113.254583,23.082053;113.254787,23.08207;113.254787,23.08207;113.255139,23.082135;113.255139,23.082135;113.255317,23.082161;113.255317,23.082161;113.255933,23.082257;113.255933,23.082257;113.256202,23.0823;113.256202,23.0823;113.256267,23.082313;113.256267,23.082313;113.257274,23.082556;113.257274,23.082556;113.257574,23.082626;113.258368,23.082895;113.258368,23.082895;113.258893,23.083095;113.258893,23.083095;113.26,23.083529;113.26,23.083529;113.260061,23.083559;113.260061,23.083559;113.260616,23.083772;113.260616,23.083772;113.260898,23.083867;113.260898,23.083867;113.261319,23.083989;113.261319,23.083989;113.261931,23.084141&#39;,
      &#39;action&#39;: &#39;向左前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿沙渡路向东步行190米右转&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;沙渡路&#39;,
      &#39;distance&#39;: &#39;190&#39;,
      &#39;duration&#39;: &#39;152&#39;,
      &#39;polyline&#39;: &#39;113.261931,23.084141;113.261984,23.084175;113.261984,23.084175;113.263151,23.084518;113.263151,23.084518;113.263424,23.084601;113.263424,23.084601;113.263576,23.084644;113.263707,23.084648&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿工业大道北向东南步行96米左转&#39;,
      &#39;orientation&#39;: &#39;东南&#39;,
      &#39;road&#39;: &#39;工业大道北&#39;,
      &#39;distance&#39;: &#39;96&#39;,
      &#39;duration&#39;: &#39;77&#39;,
      &#39;polyline&#39;: &#39;113.263707,23.084648;113.263798,23.084536;113.263798,23.084536;113.264119,23.084106;113.264119,23.084106;113.26424,23.083937&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿昌岗中路向东北步行1530米向左前方行走&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;昌岗中路&#39;,
      &#39;distance&#39;: &#39;1530&#39;,
      &#39;duration&#39;: &#39;1224&#39;,
      &#39;polyline&#39;: &#39;113.26424,23.083932;113.264583,23.084093;113.26474,23.084184;113.26474,23.084184;113.264905,23.084284;113.264905,23.084284;113.265356,23.084544;113.265356,23.084544;113.265438,23.084592;113.265438,23.084592;113.265981,23.0849;113.265981,23.0849;113.266211,23.08503;113.266211,23.08503;113.266814,23.085395;113.266975,23.08543;113.266975,23.08543;113.267066,23.085447;113.267066,23.085447;113.267439,23.085642;113.267704,23.085738;113.267704,23.085738;113.26783,23.085781;113.26783,23.085781;113.268216,23.085872;113.268216,23.085872;113.268668,23.085933;113.268668,23.085933;113.269123,23.085998;113.269123,23.085998;113.269735,23.086072;113.269735,23.086072;113.269935,23.086098;113.269935,23.086098;113.27079,23.08622;113.27079,23.08622;113.270924,23.086259;113.270924,23.086259;113.271415,23.086445;113.271719,23.086597;113.271953,23.086736;113.272231,23.086923;113.272231,23.086923;113.27227,23.086949;113.27227,23.086949;113.272504,23.087148;113.272504,23.087148;113.273329,23.08783;113.273329,23.08783;113.273498,23.087964;113.273498,23.087964;113.273681,23.088125;113.273681,23.088125;113.273906,23.088307;113.273906,23.088307;113.274327,23.088646;113.274327,23.088646;113.27464,23.088911;113.27464,23.088911;113.275451,23.08957;113.275451,23.08957;113.275503,23.089614;113.275503,23.089614;113.275716,23.089783;113.275716,23.089783;113.275859,23.0899;113.275859,23.0899;113.276111,23.090104;113.276111,23.090104;113.276549,23.090447;113.276549,23.090447;113.276584,23.090651;113.276584,23.090651;113.276823,23.090642;113.276823,23.090642;113.276931,23.090712&#39;,
      &#39;action&#39;: &#39;向左前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;步行29米右转&#39;,
      &#39;orientation&#39;: [],
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;29&#39;,
      &#39;duration&#39;: &#39;23&#39;,
      &#39;polyline&#39;: &#39;113.276931,23.090712;113.277027,23.090959&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;1&#39;},
     {&#39;instruction&#39;: &#39;沿江南大道中步行54米直行&#39;,
      &#39;orientation&#39;: [],
      &#39;road&#39;: &#39;江南大道中&#39;,
      &#39;distance&#39;: &#39;54&#39;,
      &#39;duration&#39;: &#39;43&#39;,
      &#39;polyline&#39;: &#39;113.277027,23.090959;113.277187,23.090981;113.277409,23.091124;113.2775,23.091159&#39;,
      &#39;action&#39;: &#39;直行&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;沿昌岗东路向东北步行150米右转&#39;,
      &#39;orientation&#39;: &#39;东北&#39;,
      &#39;road&#39;: &#39;昌岗东路&#39;,
      &#39;distance&#39;: &#39;150&#39;,
      &#39;duration&#39;: &#39;120&#39;,
      &#39;polyline&#39;: &#39;113.2775,23.091159;113.277721,23.091319;113.277721,23.091319;113.278194,23.091649;113.278563,23.091853;113.278563,23.091853;113.278728,23.091923&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;步行13米左转&#39;,
      &#39;orientation&#39;: [],
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;13&#39;,
      &#39;duration&#39;: &#39;10&#39;,
      &#39;polyline&#39;: &#39;113.278728,23.091923;113.278789,23.091814&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;1&#39;},
     {&#39;instruction&#39;: &#39;沿昌岗东路向东步行601米向右前方行走&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;昌岗东路&#39;,
      &#39;distance&#39;: &#39;601&#39;,
      &#39;duration&#39;: &#39;481&#39;,
      &#39;polyline&#39;: &#39;113.278789,23.09181;113.278859,23.091845;113.278859,23.091845;113.278997,23.091905;113.279319,23.092018;113.279319,23.092018;113.28102,23.092648;113.28102,23.092648;113.281645,23.09283;113.281645,23.09283;113.281957,23.092895;113.2824,23.093056;113.2824,23.093056;113.283116,23.09332;113.283116,23.09332;113.283498,23.093533;113.283498,23.093533;113.283628,23.093559;113.283628,23.093559;113.283819,23.093533;113.283902,23.093485;113.283902,23.093485;113.283924,23.093598;113.283924,23.093598;113.284201,23.093624&#39;,
      &#39;action&#39;: &#39;向右前方行走&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;步行31米左转&#39;,
      &#39;orientation&#39;: [],
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;31&#39;,
      &#39;duration&#39;: &#39;25&#39;,
      &#39;polyline&#39;: &#39;113.284201,23.093624;113.284453,23.093472&#39;,
      &#39;action&#39;: &#39;左转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;1&#39;},
     {&#39;instruction&#39;: &#39;沿新港西路向东步行1072米右转&#39;,
      &#39;orientation&#39;: &#39;东&#39;,
      &#39;road&#39;: &#39;新港西路&#39;,
      &#39;distance&#39;: &#39;1072&#39;,
      &#39;duration&#39;: &#39;858&#39;,
      &#39;polyline&#39;: &#39;113.284453,23.093468;113.284475,23.093485;113.284553,23.093507;113.285069,23.093446;113.285069,23.093446;113.285321,23.093407;113.285521,23.093442;113.285521,23.093442;113.285725,23.093451;113.285725,23.093451;113.286788,23.093242;113.286788,23.093242;113.287899,23.093064;113.287899,23.093064;113.288711,23.092934;113.288711,23.092934;113.288815,23.092917;113.288815,23.092917;113.290343,23.092656;113.290343,23.092656;113.290456,23.092635;113.290456,23.092635;113.291068,23.09253;113.291068,23.09253;113.291298,23.092491;113.291298,23.092491;113.292066,23.09227;113.292066,23.09227;113.292274,23.092218;113.292274,23.092218;113.292305,23.092209;113.292305,23.092209;113.292526,23.092144;113.292526,23.092144;113.292721,23.092088;113.292721,23.092088;113.293155,23.091966;113.293155,23.091966;113.293555,23.091858;113.293555,23.091858;113.293715,23.091814;113.293715,23.091814;113.293989,23.09174;113.293989,23.09174;113.294722,23.091545&#39;,
      &#39;action&#39;: &#39;右转&#39;,
      &#39;assistant_action&#39;: [],
      &#39;walk_type&#39;: &#39;0&#39;},
     {&#39;instruction&#39;: &#39;向南步行47米到达目的地&#39;,
      &#39;orientation&#39;: &#39;南&#39;,
      &#39;road&#39;: [],
      &#39;distance&#39;: &#39;47&#39;,
      &#39;duration&#39;: &#39;38&#39;,
      &#39;polyline&#39;: &#39;113.294722,23.091541;113.294705,23.091406;113.294705,23.091406;113.294635,23.091124&#39;,
      &#39;action&#39;: [],
      &#39;assistant_action&#39;: &#39;到达目的地&#39;,
      &#39;walk_type&#39;: &#39;0&#39;}]}]}}</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4 id="2.0-&#20844;&#20132;&#36335;&#24452;&#35268;&#21010;&#65306;&#21487;&#20197;&#35268;&#21010;&#32508;&#21512;&#21508;&#31867;&#20844;&#20849;&#65288;&#28779;&#36710;&#12289;&#20844;&#20132;&#12289;&#22320;&#38081;&#65289;&#20132;&#36890;&#26041;&#24335;&#30340;&#36890;&#21220;&#26041;&#26696;&#12290;">2.0 &#20844;&#20132;&#36335;&#24452;&#35268;&#21010;&#65306;&#21487;&#20197;&#35268;&#21010;&#32508;&#21512;&#21508;&#31867;&#20844;&#20849;&#65288;&#28779;&#36710;&#12289;&#20844;&#20132;&#12289;&#22320;&#38081;&#65289;&#20132;&#36890;&#26041;&#24335;&#30340;&#36890;&#21220;&#26041;&#26696;&#12290;<a class="anchor-link" href="#2.0-&#20844;&#20132;&#36335;&#24452;&#35268;&#21010;&#65306;&#21487;&#20197;&#35268;&#21010;&#32508;&#21512;&#21508;&#31867;&#20844;&#20849;&#65288;&#28779;&#36710;&#12289;&#20844;&#20132;&#12289;&#22320;&#38081;&#65289;&#20132;&#36890;&#26041;&#24335;&#30340;&#36890;&#21220;&#26041;&#26696;&#12290;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[127]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">integrated</span><span class="p">(</span><span class="n">origin</span><span class="p">,</span><span class="n">destination</span><span class="p">,</span><span class="n">city</span><span class="p">,</span><span class="n">cityd</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">extensions</span><span class="o">=</span><span class="s1">&#39;base&#39;</span><span class="p">,</span><span class="n">strategy</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">nightflag</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="n">date</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">time</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">sig</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span><span class="o">-&gt;</span><span class="nb">dict</span><span class="p">:</span>
    <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;https://restapi.amap.com/v3/direction/transit/integrated?parameters&#39;</span>
    <span class="n">params</span><span class="o">=</span><span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span><span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;origin&#39;</span><span class="p">:</span><span class="n">origin</span><span class="p">,</span>
        <span class="s1">&#39;destination&#39;</span><span class="p">:</span><span class="n">destination</span><span class="p">,</span>
        <span class="s1">&#39;city&#39;</span><span class="p">:</span><span class="n">city</span><span class="p">,</span>
        <span class="s1">&#39;cityd&#39;</span><span class="p">:</span><span class="n">cityd</span><span class="p">,</span>
        <span class="s1">&#39;extensions&#39;</span><span class="p">:</span><span class="n">extensions</span><span class="p">,</span>
        <span class="s1">&#39;strategy&#39;</span><span class="p">:</span><span class="n">strategy</span><span class="p">,</span>
        <span class="s1">&#39;nightflag&#39;</span><span class="p">:</span><span class="n">nightflag</span><span class="p">,</span>
        <span class="s1">&#39;date&#39;</span><span class="p">:</span><span class="n">date</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
    <span class="k">return</span> <span class="n">data</span>

<span class="c1"># C-2 准备walking 参数</span>
<span class="n">中山大学</span> <span class="o">=</span> <span class="n">geocode</span><span class="p">(</span><span class="s1">&#39;广东省广州市中山大学南校区&#39;</span><span class="p">)</span>
<span class="n">中山大学_location</span> <span class="o">=</span> <span class="n">中山大学</span><span class="p">[</span><span class="s1">&#39;geocodes&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;location&#39;</span><span class="p">]</span>
<span class="n">天河城</span> <span class="o">=</span> <span class="n">geocode</span><span class="p">(</span><span class="s1">&#39;广东省广州市天河城&#39;</span><span class="p">)</span>
<span class="n">天河城_location</span> <span class="o">=</span> <span class="n">天河城</span><span class="p">[</span><span class="s1">&#39;geocodes&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;location&#39;</span><span class="p">]</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;(起点)中山大学_location:&quot;</span><span class="p">,</span><span class="n">中山大学_location</span><span class="p">,</span><span class="s2">&quot;(终点)天河城_location:&quot;</span><span class="p">,</span><span class="n">天河城_location</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>(起点)中山大学_location: 113.290219,23.128596 (终点)天河城_location: 113.361200,23.124680
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[134]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">中大_天河城</span> <span class="o">=</span> <span class="n">integrated</span><span class="p">(</span><span class="n">中山大学_location</span><span class="p">,</span><span class="n">天河城_location</span><span class="p">,</span><span class="n">city</span><span class="o">=</span><span class="s1">&#39;广州&#39;</span><span class="p">,</span><span class="n">extensions</span><span class="o">=</span><span class="s1">&#39;all&#39;</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[135]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">中大_天河城</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt output_prompt">Out[135]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>{&#39;status&#39;: &#39;1&#39;,
 &#39;info&#39;: &#39;OK&#39;,
 &#39;infocode&#39;: &#39;10000&#39;,
 &#39;count&#39;: &#39;5&#39;,
 &#39;route&#39;: {&#39;origin&#39;: &#39;113.290219,23.128596&#39;,
  &#39;destination&#39;: &#39;113.361200,23.124680&#39;,
  &#39;distance&#39;: &#39;7012&#39;,
  &#39;taxi_cost&#39;: &#39;21.7312&#39;,
  &#39;transits&#39;: [{&#39;cost&#39;: &#39;4.0&#39;,
    &#39;duration&#39;: &#39;2443&#39;,
    &#39;nightflag&#39;: &#39;0&#39;,
    &#39;walking_distance&#39;: &#39;1690&#39;,
    &#39;distance&#39;: &#39;10345&#39;,
    &#39;missed&#39;: &#39;0&#39;,
    &#39;segments&#39;: [{&#39;taxi&#39;: [],
      &#39;walking&#39;: {&#39;origin&#39;: &#39;113.290367,23.128555&#39;,
       &#39;destination&#39;: &#39;113.296722,23.134483&#39;,
       &#39;distance&#39;: &#39;1274&#39;,
       &#39;duration&#39;: &#39;1092&#39;,
       &#39;steps&#39;: [{&#39;instruction&#39;: &#39;沿岭南路步行139米右转&#39;,
         &#39;road&#39;: &#39;岭南路&#39;,
         &#39;distance&#39;: &#39;139&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.290367,23.128555;113.290443,23.128807;113.290588,23.129210;113.290710,23.129545;113.290810,23.129753&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行108米左转&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;108&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.290810,23.129753;113.290848,23.129696;113.290916,23.129669;113.291260,23.129675;113.291672,23.129683;113.291817,23.129744&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿执信南路步行56米向右前方行走&#39;,
         &#39;road&#39;: &#39;执信南路&#39;,
         &#39;distance&#39;: &#39;56&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.291817,23.129744;113.291779,23.130251&#39;,
         &#39;action&#39;: &#39;向右前方行走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行157米右转&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;157&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.291771,23.130251;113.291855,23.130260;113.291824,23.130686;113.291862,23.130724;113.291916,23.130808;113.291924,23.130880;113.291924,23.130938;113.291893,23.131037;113.291786,23.131124;113.291748,23.131458;113.291672,23.131458&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿执信南路步行91米右转&#39;,
         &#39;road&#39;: &#39;执信南路&#39;,
         &#39;distance&#39;: &#39;91&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.291672,23.131454;113.291656,23.131767;113.291634,23.131840;113.291588,23.132278&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿先烈南路步行311米向右前方行走&#39;,
         &#39;road&#39;: &#39;先烈南路&#39;,
         &#39;distance&#39;: &#39;311&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.291580,23.132278;113.291725,23.132318;113.291756,23.132339;113.291893,23.132483;113.292076,23.132717;113.292412,23.133125;113.292671,23.133442;113.293121,23.134020;113.293427,23.134384;113.293503,23.134445&#39;,
         &#39;action&#39;: &#39;向右前方行走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行89米右转&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;89&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.293503,23.134445;113.293808,23.134531;113.293900,23.134596;113.293968,23.134678;113.293999,23.134748;113.294022,23.134983&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿环市东路步行234米左转&#39;,
         &#39;road&#39;: &#39;环市东路&#39;,
         &#39;distance&#39;: &#39;234&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.294022,23.134983;113.294746,23.134871;113.295769,23.134701;113.296272,23.134623&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行89米到达区庄&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;89&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.296272,23.134619;113.296272,23.134752;113.296318,23.134752;113.296318,23.134487;113.296722,23.134483;113.296722,23.134483&#39;,
         &#39;action&#39;: [],
         &#39;assistant_action&#39;: &#39;到达区庄&#39;}]},
      &#39;bus&#39;: {&#39;buslines&#39;: [{&#39;departure_stop&#39;: {&#39;name&#39;: &#39;区庄&#39;,
          &#39;id&#39;: &#39;440100023037010&#39;,
          &#39;location&#39;: &#39;113.296725,23.134483&#39;},
         &#39;arrival_stop&#39;: {&#39;name&#39;: &#39;员村&#39;,
          &#39;id&#39;: &#39;440100023037017&#39;,
          &#39;location&#39;: &#39;113.363663,23.115768&#39;},
         &#39;name&#39;: &#39;地铁5号线(滘口--文冲)&#39;,
         &#39;id&#39;: &#39;440100023037&#39;,
         &#39;type&#39;: &#39;地铁线路&#39;,
         &#39;distance&#39;: &#39;7660&#39;,
         &#39;duration&#39;: &#39;876&#39;,
         &#39;polyline&#39;: &#39;113.296725,23.134483;113.297627,23.134484;113.302571,23.134479;113.305700,23.134501;113.306515,23.134497;113.306965,23.134503;113.307291,23.134503;113.307619,23.134503;113.307976,23.134487;113.308276,23.134453;113.308555,23.134409;113.308813,23.134350;113.309011,23.134271;113.309151,23.134182;113.309274,23.134049;113.309349,23.133876;113.309376,23.133689;113.309392,23.133472;113.309376,23.133304;113.309349,23.133126;113.309312,23.132949;113.309263,23.132776;113.309199,23.132599;113.309076,23.132367;113.307863,23.130561;113.307590,23.130162;113.307488,23.129944;113.307407,23.129688;113.307355,23.129463;113.307329,23.129277;113.307303,23.129049;113.307303,23.128857;113.307275,23.128545;113.307255,23.128363;113.307249,23.128235;113.307272,23.128111;113.307692,23.127284;113.308154,23.126367;113.309062,23.124663;113.309984,23.123045;113.311170,23.120914;113.311379,23.120598;113.311540,23.120396;113.311717,23.120233;113.311915,23.120104;113.312135,23.120016;113.312382,23.119942;113.312672,23.119887;113.313058,23.119853;113.313656,23.119834;113.314249,23.119843;113.314847,23.119853;113.316770,23.119715;113.320016,23.119292;113.321206,23.119293;113.322586,23.119290;113.324445,23.119121;113.326668,23.118952;113.329169,23.118750;113.331498,23.118582;113.332105,23.118539;113.332697,23.118502;113.338429,23.118002;113.341315,23.117680;113.344663,23.117464;113.345949,23.117366;113.347295,23.117264;113.353770,23.116557;113.362917,23.115772;113.363663,23.115768&#39;,
         &#39;bustimetag&#39;: &#39;0&#39;,
         &#39;start_time&#39;: &#39;0615&#39;,
         &#39;end_time&#39;: &#39;2315&#39;,
         &#39;via_num&#39;: &#39;6&#39;,
         &#39;via_stops&#39;: [{&#39;name&#39;: &#39;动物园&#39;,
           &#39;id&#39;: &#39;440100023037011&#39;,
           &#39;location&#39;: &#39;113.307291,23.134503&#39;},
          {&#39;name&#39;: &#39;杨箕&#39;,
           &#39;id&#39;: &#39;440100023037012&#39;,
           &#39;location&#39;: &#39;113.307692,23.127284&#39;},
          {&#39;name&#39;: &#39;五羊邨&#39;,
           &#39;id&#39;: &#39;440100023037013&#39;,
           &#39;location&#39;: &#39;113.314249,23.119843&#39;},
          {&#39;name&#39;: &#39;珠江新城&#39;,
           &#39;id&#39;: &#39;440100023037014&#39;,
           &#39;location&#39;: &#39;113.321206,23.119293&#39;},
          {&#39;name&#39;: &#39;猎德&#39;,
           &#39;id&#39;: &#39;440100023037015&#39;,
           &#39;location&#39;: &#39;113.332105,23.118539&#39;},
          {&#39;name&#39;: &#39;潭村&#39;,
           &#39;id&#39;: &#39;440100023037016&#39;,
           &#39;location&#39;: &#39;113.345949,23.117366&#39;}]}]},
      &#39;entrance&#39;: {&#39;name&#39;: &#39;E口&#39;, &#39;location&#39;: &#39;113.296318,23.134756&#39;},
      &#39;exit&#39;: [],
      &#39;railway&#39;: {&#39;via_stops&#39;: [], &#39;alters&#39;: [], &#39;spaces&#39;: []}},
     {&#39;taxi&#39;: [],
      &#39;walking&#39;: [],
      &#39;bus&#39;: {&#39;buslines&#39;: [{&#39;departure_stop&#39;: {&#39;name&#39;: &#39;员村&#39;,
          &#39;id&#39;: &#39;900000046004022&#39;,
          &#39;location&#39;: &#39;113.363663,23.115768&#39;},
         &#39;arrival_stop&#39;: {&#39;name&#39;: &#39;天河公园&#39;,
          &#39;id&#39;: &#39;900000046004023&#39;,
          &#39;location&#39;: &#39;113.362879,23.125317&#39;},
         &#39;name&#39;: &#39;地铁21号线(员村--增城广场)&#39;,
         &#39;id&#39;: &#39;900000046004&#39;,
         &#39;type&#39;: &#39;地铁线路&#39;,
         &#39;distance&#39;: &#39;995&#39;,
         &#39;duration&#39;: &#39;119&#39;,
         &#39;polyline&#39;: &#39;113.363663,23.115768;113.363667,23.116199;113.363613,23.117254;113.363592,23.117459;113.362762,23.120408;113.362641,23.121340;113.362649,23.121803;113.362686,23.122398;113.362830,23.124197;113.362879,23.125317&#39;,
         &#39;bustimetag&#39;: &#39;0&#39;,
         &#39;start_time&#39;: &#39;0600&#39;,
         &#39;end_time&#39;: &#39;2250&#39;,
         &#39;via_num&#39;: &#39;0&#39;,
         &#39;via_stops&#39;: []}]},
      &#39;entrance&#39;: [],
      &#39;exit&#39;: {&#39;name&#39;: &#39;F口&#39;, &#39;location&#39;: &#39;113.362473,23.124685&#39;},
      &#39;railway&#39;: {&#39;via_stops&#39;: [], &#39;alters&#39;: [], &#39;spaces&#39;: []}},
     {&#39;taxi&#39;: [],
      &#39;walking&#39;: {&#39;origin&#39;: &#39;113.362877,23.125317&#39;,
       &#39;destination&#39;: &#39;113.361488,23.124657&#39;,
       &#39;distance&#39;: &#39;415&#39;,
       &#39;duration&#39;: &#39;355&#39;,
       &#39;steps&#39;: [{&#39;instruction&#39;: &#39;步行195米左转&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;195&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.362877,23.125317;113.362846,23.124371;113.362457,23.124384;113.362473,23.124683;113.362289,23.124697&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿天府路步行12米右转&#39;,
         &#39;road&#39;: &#39;天府路&#39;,
         &#39;distance&#39;: &#39;12&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.362289,23.124697;113.362274,23.124592&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行24米左转&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;24&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.362267,23.124588;113.362213,23.124601;113.362129,23.124605;113.362022,23.124609&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行112米右转&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;112&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.362015,23.124609;113.361977,23.124132;113.361809,23.124033;113.361443,23.124006&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行13米往前走&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;13&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.361443,23.124002;113.361450,23.124128&#39;,
         &#39;action&#39;: &#39;往前走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行59米&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;59&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.361450,23.124128;113.361488,23.124657&#39;,
         &#39;action&#39;: [],
         &#39;assistant_action&#39;: []}]},
      &#39;bus&#39;: {&#39;buslines&#39;: []},
      &#39;entrance&#39;: [],
      &#39;exit&#39;: [],
      &#39;railway&#39;: {&#39;via_stops&#39;: [], &#39;alters&#39;: [], &#39;spaces&#39;: []}}]},
   {&#39;cost&#39;: &#39;2.0&#39;,
    &#39;duration&#39;: &#39;2873&#39;,
    &#39;nightflag&#39;: &#39;0&#39;,
    &#39;walking_distance&#39;: &#39;965&#39;,
    &#39;distance&#39;: &#39;8551&#39;,
    &#39;missed&#39;: &#39;0&#39;,
    &#39;segments&#39;: [{&#39;taxi&#39;: [],
      &#39;walking&#39;: {&#39;origin&#39;: &#39;113.290367,23.128555&#39;,
       &#39;destination&#39;: &#39;113.290771,23.124901&#39;,
       &#39;distance&#39;: &#39;665&#39;,
       &#39;duration&#39;: &#39;570&#39;,
       &#39;steps&#39;: [{&#39;instruction&#39;: &#39;沿岭南路步行152米左转&#39;,
         &#39;road&#39;: &#39;岭南路&#39;,
         &#39;distance&#39;: &#39;152&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.290367,23.128555;113.290298,23.128311;113.290245,23.128094;113.290176,23.127834;113.290115,23.127705;113.290047,23.127596;113.289932,23.127483;113.289833,23.127426;113.289719,23.127392&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿岭南路步行75米往前走&#39;,
         &#39;road&#39;: &#39;岭南路&#39;,
         &#39;distance&#39;: &#39;75&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.289719,23.127388;113.289894,23.127035;113.289902,23.126957;113.289864,23.126745&#39;,
         &#39;action&#39;: &#39;往前走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿杏林路步行155米左转&#39;,
         &#39;road&#39;: &#39;杏林路&#39;,
         &#39;distance&#39;: &#39;155&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.289864,23.126740;113.289742,23.126163;113.289703,23.126085;113.289635,23.126041;113.289558,23.126020;113.289474,23.126020;113.289253,23.126045;113.288940,23.126093&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行32米往前走&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;32&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.288940,23.126093;113.288879,23.125807&#39;,
         &#39;action&#39;: &#39;往前走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿逸仙路步行16米左转&#39;,
         &#39;road&#39;: &#39;逸仙路&#39;,
         &#39;distance&#39;: &#39;16&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.288879,23.125803;113.288857,23.125769;113.288811,23.125668&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿中山二路步行167米右转&#39;,
         &#39;road&#39;: &#39;中山二路&#39;,
         &#39;distance&#39;: &#39;167&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.288803,23.125664;113.289406,23.125460;113.289635,23.125368;113.290359,23.125183&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行19米左转&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;19&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.290359,23.125174;113.290298,23.125017&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿中山二路步行49米到达中山医&#39;,
         &#39;road&#39;: &#39;中山二路&#39;,
         &#39;distance&#39;: &#39;49&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.290298,23.125004;113.290352,23.125000;113.290771,23.124901&#39;,
         &#39;action&#39;: [],
         &#39;assistant_action&#39;: &#39;到达中山医&#39;}]},
      &#39;bus&#39;: {&#39;buslines&#39;: [{&#39;departure_stop&#39;: {&#39;name&#39;: &#39;中山医&#39;,
          &#39;id&#39;: &#39;440100017371037&#39;,
          &#39;location&#39;: &#39;113.290741,23.124901&#39;},
         &#39;arrival_stop&#39;: {&#39;name&#39;: &#39;天府路&#39;,
          &#39;id&#39;: &#39;440100017371023&#39;,
          &#39;location&#39;: &#39;113.362358,23.125360&#39;},
         &#39;name&#39;: &#39;B8路(宝岗大道总站--棠下小区总站)&#39;,
         &#39;id&#39;: &#39;440100017371&#39;,
         &#39;type&#39;: [],
         &#39;distance&#39;: &#39;7586&#39;,
         &#39;duration&#39;: &#39;2046&#39;,
         &#39;polyline&#39;: &#39;113.290741,23.124901;113.290932,23.124857;113.291016,23.124836;113.291519,23.124701;113.291885,23.124596;113.292168,23.124523;113.292702,23.124384;113.293228,23.124262;113.293297,23.124245;113.293930,23.124125;113.293938,23.124121;113.294212,23.124094;113.294777,23.124027;113.295021,23.123840;113.295113,23.123857;113.295532,23.123945;113.296631,23.124203;113.298393,23.124609;113.298965,23.124744;113.298958,23.124741;113.299690,23.124908;113.299934,23.124964;113.300186,23.125023;113.300308,23.125050;113.300552,23.125105;113.300728,23.125137;113.301308,23.125278;113.301498,23.125328;113.301636,23.125355;113.301834,23.125401;113.303017,23.125664;113.303299,23.125729;113.303902,23.125898;113.304398,23.126066;113.304596,23.126060;113.305008,23.126221;113.305466,23.126402;113.305832,23.126562;113.306145,23.126698;113.306252,23.126753;113.306519,23.126888;113.306763,23.127028;113.307343,23.127386;113.307877,23.127655;113.307991,23.127701;113.308594,23.127951;113.309082,23.128155;113.309639,23.128389;113.310265,23.128662;113.310463,23.128746;113.310776,23.128866;113.311180,23.128994;113.311317,23.129026;113.311455,23.129063;113.312157,23.129181;113.312637,23.129240;113.312988,23.129290;113.313171,23.129313;113.313622,23.129362;113.313789,23.129379;113.314018,23.129379;113.314415,23.129345;113.314705,23.129297;113.314850,23.129250;113.314941,23.129158;113.315079,23.129084;113.315147,23.129066;113.315186,23.129057;113.315437,23.129026;113.315582,23.129040;113.315659,23.129070;113.316429,23.128702;113.316895,23.128515;113.317520,23.128273;113.318008,23.128069;113.318634,23.127773;113.318741,23.127728;113.319016,23.127630;113.319237,23.127583;113.319611,23.127541;113.319817,23.127535;113.320396,23.127501;113.320389,23.127501;113.321037,23.127460;113.321503,23.127468;113.321609,23.127478;113.321739,23.127522;113.323975,23.127369;113.324806,23.127323;113.324913,23.127266;113.325500,23.127239;113.326454,23.127178;113.327408,23.127117;113.327682,23.127090;113.327965,23.127071;113.328224,23.127048;113.328590,23.127022;113.329628,23.126953;113.329674,23.126949;113.329765,23.126944;113.330971,23.126875;113.332169,23.126799;113.332664,23.126762;113.333176,23.126722;113.333786,23.126684;113.333946,23.126675;113.334106,23.126671;113.334541,23.126648;113.334961,23.126627;113.334984,23.126627;113.335770,23.126602;113.336403,23.126572;113.336655,23.126562;113.336777,23.126602;113.337181,23.126566;113.337830,23.126516;113.337929,23.126507;113.338425,23.126467;113.339432,23.126398;113.339577,23.126385;113.340179,23.126347;113.340423,23.126262;113.341329,23.126163;113.342424,23.126094;113.344333,23.125981;113.345969,23.125843;113.346822,23.125764;113.347244,23.125731;113.347427,23.125769;113.347710,23.125738;113.347992,23.125694;113.348137,23.125673;113.348648,23.125608;113.348923,23.125565;113.350349,23.125338;113.351479,23.125170;113.351540,23.125050;113.351654,23.124945;113.351746,23.124908;113.352112,23.124844;113.352104,23.124844;113.352234,23.124823;113.352356,23.124823;113.352661,23.125004;113.353271,23.124891;113.353760,23.124809;113.355286,23.124523;113.355789,23.124432;113.356339,23.124336;113.356659,23.124231;113.356934,23.124193;113.357269,23.124136;113.357536,23.124084;113.357857,23.124022;113.358086,23.123980;113.358429,23.123920;113.358482,23.123907;113.358894,23.123833;113.359085,23.123793;113.359261,23.123716;113.359505,23.123663;113.360619,23.123451;113.361023,23.123360;113.361298,23.123306;113.361473,23.123268;113.362045,23.123116;113.362175,23.123447;113.362274,23.124586;113.362358,23.125360&#39;,
         &#39;bustimetag&#39;: &#39;0&#39;,
         &#39;start_time&#39;: [],
         &#39;end_time&#39;: [],
         &#39;via_num&#39;: &#39;10&#39;,
         &#39;via_stops&#39;: [{&#39;name&#39;: &#39;东山口&#39;,
           &#39;id&#39;: &#39;440100017371038&#39;,
           &#39;location&#39;: &#39;113.293930,23.124125&#39;},
          {&#39;name&#39;: &#39;农林东&#39;,
           &#39;id&#39;: &#39;440100017371014&#39;,
           &#39;location&#39;: &#39;113.298965,23.124744&#39;},
          {&#39;name&#39;: &#39;梅花村&#39;,
           &#39;id&#39;: &#39;440100017371039&#39;,
           &#39;location&#39;: &#39;113.306252,23.126753&#39;},
          {&#39;name&#39;: &#39;杨箕村&#39;,
           &#39;id&#39;: &#39;440100017371040&#39;,
           &#39;location&#39;: &#39;113.311317,23.129026&#39;},
          {&#39;name&#39;: &#39;天河&#39;,
           &#39;id&#39;: &#39;440100017371041&#39;,
           &#39;location&#39;: &#39;113.320396,23.127501&#39;},
          {&#39;name&#39;: &#39;冼村&#39;,
           &#39;id&#39;: &#39;440100017371042&#39;,
           &#39;location&#39;: &#39;113.329674,23.126949&#39;},
          {&#39;name&#39;: &#39;石牌村&#39;,
           &#39;id&#39;: &#39;440100017371019&#39;,
           &#39;location&#39;: &#39;113.339577,23.126385&#39;},
          {&#39;name&#39;: &#39;国防大厦&#39;,
           &#39;id&#39;: &#39;440100017371020&#39;,
           &#39;location&#39;: &#39;113.347992,23.125694&#39;},
          {&#39;name&#39;: &#39;华侨医院(潭村)&#39;,
           &#39;id&#39;: &#39;440100017371043&#39;,
           &#39;location&#39;: &#39;113.352112,23.124844&#39;},
          {&#39;name&#39;: &#39;员村山顶&#39;,
           &#39;id&#39;: &#39;440100017371022&#39;,
           &#39;location&#39;: &#39;113.357857,23.124022&#39;}]}]},
      &#39;entrance&#39;: [],
      &#39;exit&#39;: [],
      &#39;railway&#39;: {&#39;via_stops&#39;: [], &#39;alters&#39;: [], &#39;spaces&#39;: []}},
     {&#39;taxi&#39;: [],
      &#39;walking&#39;: {&#39;origin&#39;: &#39;113.362358,23.125422&#39;,
       &#39;destination&#39;: &#39;113.361488,23.124657&#39;,
       &#39;distance&#39;: &#39;300&#39;,
       &#39;duration&#39;: &#39;257&#39;,
       &#39;steps&#39;: [{&#39;instruction&#39;: &#39;沿天府路步行92米右转&#39;,
         &#39;road&#39;: &#39;天府路&#39;,
         &#39;distance&#39;: &#39;92&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.362358,23.125422;113.362289,23.124701;113.362274,23.124592&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行24米左转&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;24&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.362267,23.124588;113.362213,23.124601;113.362129,23.124605;113.362022,23.124609&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行112米右转&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;112&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.362015,23.124609;113.361977,23.124132;113.361809,23.124033;113.361443,23.124006&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行13米往前走&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;13&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.361443,23.124002;113.361450,23.124128&#39;,
         &#39;action&#39;: &#39;往前走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行59米&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;59&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.361450,23.124128;113.361488,23.124657&#39;,
         &#39;action&#39;: [],
         &#39;assistant_action&#39;: []}]},
      &#39;bus&#39;: {&#39;buslines&#39;: []},
      &#39;entrance&#39;: [],
      &#39;exit&#39;: [],
      &#39;railway&#39;: {&#39;via_stops&#39;: [], &#39;alters&#39;: [], &#39;spaces&#39;: []}}]},
   {&#39;cost&#39;: &#39;2.0&#39;,
    &#39;duration&#39;: &#39;2792&#39;,
    &#39;nightflag&#39;: &#39;0&#39;,
    &#39;walking_distance&#39;: &#39;1138&#39;,
    &#39;distance&#39;: &#39;7823&#39;,
    &#39;missed&#39;: &#39;0&#39;,
    &#39;segments&#39;: [{&#39;taxi&#39;: [],
      &#39;walking&#39;: {&#39;origin&#39;: &#39;113.290367,23.128555&#39;,
       &#39;destination&#39;: &#39;113.293068,23.130842&#39;,
       &#39;distance&#39;: &#39;495&#39;,
       &#39;duration&#39;: &#39;424&#39;,
       &#39;steps&#39;: [{&#39;instruction&#39;: &#39;沿岭南路步行139米右转&#39;,
         &#39;road&#39;: &#39;岭南路&#39;,
         &#39;distance&#39;: &#39;139&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.290367,23.128555;113.290443,23.128807;113.290588,23.129210;113.290710,23.129545;113.290810,23.129753&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行108米左转&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;108&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.290810,23.129753;113.290848,23.129696;113.290916,23.129669;113.291260,23.129675;113.291672,23.129683;113.291817,23.129744&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿执信南路步行110米右转&#39;,
         &#39;road&#39;: &#39;执信南路&#39;,
         &#39;distance&#39;: &#39;110&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.291817,23.129744;113.291779,23.130251;113.291756,23.130438;113.291740,23.130642;113.291733,23.130754&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿东风东路步行138米到达执信路&#39;,
         &#39;road&#39;: &#39;东风东路&#39;,
         &#39;distance&#39;: &#39;138&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.291733,23.130754;113.291924,23.130764;113.292053,23.130833;113.292274,23.130833;113.292702,23.130838;113.293068,23.130842&#39;,
         &#39;action&#39;: [],
         &#39;assistant_action&#39;: &#39;到达执信路&#39;}]},
      &#39;bus&#39;: {&#39;buslines&#39;: [{&#39;departure_stop&#39;: {&#39;name&#39;: &#39;执信路&#39;,
          &#39;id&#39;: &#39;900000028901009&#39;,
          &#39;location&#39;: &#39;113.293137,23.130842&#39;},
         &#39;arrival_stop&#39;: {&#39;name&#39;: &#39;员村山顶&#39;,
          &#39;id&#39;: &#39;900000028901015&#39;,
          &#39;location&#39;: &#39;113.357964,23.124006&#39;},
         &#39;name&#39;: &#39;高峰快线23路(南岸路--员村四横路口)&#39;,
         &#39;id&#39;: &#39;900000028901&#39;,
         &#39;type&#39;: &#39;普通公交线路&#39;,
         &#39;distance&#39;: &#39;6685&#39;,
         &#39;duration&#39;: &#39;1817&#39;,
         &#39;polyline&#39;: &#39;113.293137,23.130842;113.293152,23.130842;113.293709,23.130842;113.294434,23.130846;113.295197,23.130875;113.295341,23.130911;113.295502,23.130911;113.296379,23.130928;113.297188,23.130938;113.297554,23.130968;113.297821,23.130993;113.298210,23.131029;113.299751,23.131302;113.300652,23.131453;113.301003,23.131493;113.301712,23.131626;113.302734,23.131758;113.303528,23.131758;113.304001,23.131771;113.304451,23.131775;113.305061,23.131788;113.306145,23.131800;113.306824,23.131800;113.306824,23.131805;113.307549,23.131802;113.307777,23.131819;113.308853,23.131819;113.309143,23.131823;113.309502,23.131792;113.309654,23.131779;113.309860,23.131741;113.310295,23.131659;113.310570,23.131580;113.310852,23.131489;113.311470,23.131237;113.311752,23.131111;113.312065,23.130955;113.312225,23.130894;113.312378,23.130880;113.312904,23.130672;113.315186,23.129604;113.317909,23.128307;113.318649,23.127916;113.318863,23.127817;113.319107,23.127729;113.319374,23.127661;113.319809,23.127535;113.321045,23.127466;113.321503,23.127470;113.321609,23.127478;113.321747,23.127522;113.323975,23.127369;113.324806,23.127321;113.325012,23.127344;113.325989,23.127304;113.327171,23.127226;113.328247,23.127167;113.332512,23.126909;113.334221,23.126797;113.334999,23.126749;113.336578,23.126627;113.336769,23.126596;113.337929,23.126507;113.338432,23.126463;113.339424,23.126398;113.339638,23.126385;113.339638,23.126381;113.340179,23.126347;113.340408,23.126253;113.340797,23.126221;113.341324,23.126171;113.341728,23.126139;113.341919,23.126125;113.342270,23.126102;113.342697,23.126072;113.343109,23.126047;113.343246,23.126038;113.343369,23.126028;113.343491,23.126024;113.343704,23.126011;113.343918,23.125994;113.344185,23.125978;113.344452,23.125959;113.345024,23.125916;113.345726,23.125860;113.345970,23.125834;113.346107,23.125816;113.346306,23.125793;113.347244,23.125738;113.347427,23.125769;113.347710,23.125738;113.348137,23.125673;113.348648,23.125608;113.348923,23.125565;113.350349,23.125338;113.351479,23.125170;113.351540,23.125050;113.351654,23.124945;113.351746,23.124908;113.352211,23.124826;113.352213,23.124820;113.352272,23.124800;113.352339,23.124751;113.352654,23.124969;113.353264,23.124861;113.353760,23.124775;113.355278,23.124500;113.355759,23.124422;113.356659,23.124237;113.357277,23.124136;113.357964,23.124006&#39;,
         &#39;bustimetag&#39;: &#39;0&#39;,
         &#39;start_time&#39;: [],
         &#39;end_time&#39;: [],
         &#39;via_num&#39;: &#39;5&#39;,
         &#39;via_stops&#39;: [{&#39;name&#39;: &#39;东风东路站&#39;,
           &#39;id&#39;: &#39;900000028901010&#39;,
           &#39;location&#39;: &#39;113.303528,23.131758&#39;},
          {&#39;name&#39;: &#39;东峻广场&#39;,
           &#39;id&#39;: &#39;900000028901011&#39;,
           &#39;location&#39;: &#39;113.306824,23.131800&#39;},
          {&#39;name&#39;: &#39;石牌村&#39;,
           &#39;id&#39;: &#39;900000028901012&#39;,
           &#39;location&#39;: &#39;113.339638,23.126385&#39;},
          {&#39;name&#39;: &#39;国防大厦&#39;,
           &#39;id&#39;: &#39;900000028901013&#39;,
           &#39;location&#39;: &#39;113.345024,23.125916&#39;},
          {&#39;name&#39;: &#39;华侨医院(潭村)&#39;,
           &#39;id&#39;: &#39;900000028901014&#39;,
           &#39;location&#39;: &#39;113.352211,23.124826&#39;}]},
        {&#39;departure_stop&#39;: {&#39;name&#39;: &#39;执信路&#39;,
          &#39;id&#39;: &#39;440100016471013&#39;,
          &#39;location&#39;: &#39;113.293060,23.130842&#39;},
         &#39;arrival_stop&#39;: {&#39;name&#39;: &#39;员村山顶&#39;,
          &#39;id&#39;: &#39;440100016471022&#39;,
          &#39;location&#39;: &#39;113.358780,23.123848&#39;},
         &#39;name&#39;: &#39;284路(广园新村总站--员村总站)&#39;,
         &#39;id&#39;: &#39;440100016471&#39;,
         &#39;type&#39;: &#39;普通公交线路&#39;,
         &#39;distance&#39;: &#39;6936&#39;,
         &#39;duration&#39;: &#39;2084&#39;,
         &#39;polyline&#39;: &#39;113.293060,23.130842;113.293152,23.130842;113.293709,23.130842;113.294434,23.130846;113.295197,23.130875;113.295341,23.130911;113.295502,23.130911;113.296379,23.130928;113.297188,23.130938;113.297554,23.130968;113.297821,23.130993;113.298210,23.131029;113.299751,23.131302;113.300652,23.131453;113.301003,23.131493;113.301712,23.131626;113.302734,23.131758;113.303108,23.131767;113.303474,23.131762;113.303474,23.131758;113.303528,23.131758;113.304001,23.131771;113.304451,23.131775;113.305061,23.131788;113.306145,23.131800;113.306816,23.131800;113.307549,23.131800;113.307770,23.131817;113.308861,23.131823;113.309135,23.131823;113.309509,23.131794;113.309868,23.131741;113.310287,23.131659;113.310570,23.131575;113.310783,23.131516;113.310783,23.131519;113.310867,23.131493;113.310974,23.131411;113.311447,23.131207;113.312126,23.130911;113.312202,23.130838;113.312408,23.130733;113.312805,23.130564;113.312988,23.130478;113.313141,23.130404;113.313370,23.130295;113.313446,23.130287;113.313568,23.130241;113.314384,23.129862;113.314667,23.129730;113.314835,23.129641;113.314888,23.129604;113.314919,23.129581;113.314957,23.129539;113.314957,23.129505;113.314972,23.129423;113.315010,23.129335;113.315102,23.129253;113.315163,23.129227;113.315193,23.129223;113.315224,23.129210;113.315262,23.129208;113.315430,23.129202;113.315536,23.129223;113.315628,23.129276;113.315895,23.129154;113.316315,23.128958;113.316856,23.128729;113.317856,23.128269;113.318527,23.127869;113.318634,23.127773;113.318741,23.127728;113.319016,23.127630;113.319237,23.127583;113.319405,23.127560;113.319611,23.127541;113.319817,23.127535;113.321037,23.127460;113.321503,23.127468;113.321609,23.127478;113.321739,23.127522;113.323975,23.127369;113.324806,23.127323;113.324913,23.127266;113.325500,23.127239;113.326454,23.127178;113.327408,23.127117;113.327682,23.127090;113.327965,23.127071;113.328224,23.127048;113.328590,23.127022;113.329628,23.126953;113.329765,23.126944;113.330666,23.126894;113.330971,23.126875;113.332169,23.126799;113.332664,23.126762;113.333176,23.126722;113.333786,23.126684;113.333946,23.126675;113.334106,23.126671;113.334541,23.126648;113.334961,23.126627;113.334984,23.126627;113.335770,23.126602;113.336403,23.126572;113.336655,23.126562;113.336777,23.126602;113.337181,23.126566;113.337830,23.126516;113.337929,23.126507;113.338425,23.126467;113.339432,23.126398;113.340179,23.126347;113.340408,23.126253;113.340469,23.126249;113.340797,23.126221;113.341324,23.126171;113.341728,23.126139;113.341919,23.126125;113.342270,23.126102;113.342697,23.126072;113.343109,23.126047;113.343246,23.126038;113.343369,23.126028;113.343491,23.126024;113.343704,23.126011;113.343918,23.125994;113.344185,23.125978;113.344452,23.125959;113.344879,23.125929;113.345726,23.125860;113.345970,23.125834;113.346107,23.125816;113.346306,23.125793;113.347244,23.125738;113.347427,23.125769;113.347710,23.125738;113.348137,23.125673;113.348648,23.125608;113.348923,23.125565;113.350349,23.125338;113.351479,23.125170;113.351540,23.125050;113.351654,23.124945;113.351746,23.124908;113.352188,23.124830;113.352234,23.124823;113.352272,23.124796;113.352341,23.124741;113.352661,23.125004;113.353271,23.124891;113.353760,23.124809;113.355286,23.124523;113.355789,23.124432;113.356339,23.124336;113.356659,23.124231;113.356934,23.124193;113.357269,23.124136;113.358086,23.123980;113.358261,23.123949;113.358429,23.123920;113.358482,23.123907;113.358780,23.123848&#39;,
         &#39;bustimetag&#39;: &#39;0&#39;,
         &#39;start_time&#39;: &#39;0600&#39;,
         &#39;end_time&#39;: &#39;2220&#39;,
         &#39;via_num&#39;: &#39;8&#39;,
         &#39;via_stops&#39;: [{&#39;name&#39;: &#39;东风东路站&#39;,
           &#39;id&#39;: &#39;440100016471014&#39;,
           &#39;location&#39;: &#39;113.303474,23.131762&#39;},
          {&#39;name&#39;: &#39;东峻广场&#39;,
           &#39;id&#39;: &#39;440100016471015&#39;,
           &#39;location&#39;: &#39;113.306816,23.131800&#39;},
          {&#39;name&#39;: &#39;锦城花园&#39;,
           &#39;id&#39;: &#39;440100016471029&#39;,
           &#39;location&#39;: &#39;113.310783,23.131516&#39;},
          {&#39;name&#39;: &#39;天河&#39;,
           &#39;id&#39;: &#39;440100016471017&#39;,
           &#39;location&#39;: &#39;113.319405,23.127560&#39;},
          {&#39;name&#39;: &#39;冼村&#39;,
           &#39;id&#39;: &#39;440100016471018&#39;,
           &#39;location&#39;: &#39;113.330666,23.126894&#39;},
          {&#39;name&#39;: &#39;石牌村&#39;,
           &#39;id&#39;: &#39;440100016471019&#39;,
           &#39;location&#39;: &#39;113.340469,23.126249&#39;},
          {&#39;name&#39;: &#39;国防大厦&#39;,
           &#39;id&#39;: &#39;440100016471020&#39;,
           &#39;location&#39;: &#39;113.344879,23.125929&#39;},
          {&#39;name&#39;: &#39;华侨医院(潭村)&#39;,
           &#39;id&#39;: &#39;440100016471033&#39;,
           &#39;location&#39;: &#39;113.352188,23.124830&#39;}]},
        {&#39;departure_stop&#39;: {&#39;name&#39;: &#39;执信路&#39;,
          &#39;id&#39;: &#39;440100016786015&#39;,
          &#39;location&#39;: &#39;113.293091,23.130842&#39;},
         &#39;arrival_stop&#39;: {&#39;name&#39;: &#39;员村山顶&#39;,
          &#39;id&#39;: &#39;440100016786025&#39;,
          &#39;location&#39;: &#39;113.357979,23.124002&#39;},
         &#39;name&#39;: &#39;518路(站前路总站--棠下小区总站)&#39;,
         &#39;id&#39;: &#39;440100016786&#39;,
         &#39;type&#39;: &#39;普通公交线路&#39;,
         &#39;distance&#39;: &#39;7427&#39;,
         &#39;duration&#39;: &#39;2287&#39;,
         &#39;polyline&#39;: &#39;113.293091,23.130842;113.293152,23.130842;113.293709,23.130842;113.294434,23.130846;113.295197,23.130875;113.295341,23.130911;113.295502,23.130911;113.296379,23.130928;113.297188,23.130938;113.297554,23.130968;113.297821,23.130993;113.298210,23.131029;113.299751,23.131302;113.300652,23.131453;113.301003,23.131493;113.301712,23.131626;113.302734,23.131758;113.303513,23.131758;113.303528,23.131758;113.304001,23.131771;113.304451,23.131775;113.305061,23.131788;113.306145,23.131800;113.306862,23.131800;113.307549,23.131800;113.307770,23.131817;113.308861,23.131823;113.309135,23.131823;113.309509,23.131794;113.309868,23.131741;113.310287,23.131659;113.310570,23.131575;113.310692,23.131544;113.310692,23.131540;113.310867,23.131493;113.311005,23.131475;113.311371,23.131325;113.312393,23.130865;113.312912,23.130678;113.312988,23.130638;113.315186,23.129608;113.317368,23.128565;113.317886,23.128321;113.318634,23.127920;113.318855,23.127817;113.319099,23.127729;113.319366,23.127661;113.319817,23.127535;113.321037,23.127460;113.321175,23.127199;113.321175,23.126640;113.321175,23.126493;113.321175,23.126249;113.321175,23.126221;113.321175,23.126129;113.321175,23.125719;113.321175,23.125664;113.321190,23.124878;113.321198,23.124445;113.321198,23.124275;113.321210,23.124040;113.321205,23.124031;113.321121,23.124012;113.321022,23.123938;113.320984,23.123884;113.320961,23.123789;113.320969,23.123642;113.321014,23.123550;113.321037,23.123524;113.321167,23.123461;113.321342,23.123461;113.321465,23.123510;113.321526,23.123569;113.321571,23.123724;113.321564,23.123819;113.321541,23.123898;113.321503,23.123945;113.321449,23.123999;113.321381,23.124027;113.321365,23.124271;113.321365,23.124445;113.321365,23.124557;113.321365,23.124857;113.321365,23.125422;113.321365,23.125664;113.321365,23.126221;113.321365,23.126249;113.321365,23.126507;113.321396,23.127205;113.321518,23.127344;113.321739,23.127522;113.323975,23.127369;113.324806,23.127323;113.324913,23.127266;113.325500,23.127239;113.326454,23.127178;113.327408,23.127117;113.327682,23.127090;113.327965,23.127071;113.328224,23.127048;113.328590,23.127022;113.329628,23.126953;113.329765,23.126944;113.329811,23.126940;113.330971,23.126875;113.332169,23.126799;113.332664,23.126762;113.333176,23.126722;113.333786,23.126684;113.333946,23.126675;113.334106,23.126671;113.334541,23.126648;113.334961,23.126627;113.334984,23.126627;113.335770,23.126602;113.336403,23.126572;113.336655,23.126562;113.336777,23.126602;113.337181,23.126566;113.337830,23.126516;113.337929,23.126507;113.338425,23.126467;113.339432,23.126398;113.339523,23.126389;113.340179,23.126347;113.340408,23.126253;113.340797,23.126221;113.341324,23.126171;113.341728,23.126139;113.341919,23.126125;113.342270,23.126102;113.342697,23.126072;113.343109,23.126047;113.343246,23.126038;113.343369,23.126028;113.343491,23.126024;113.343704,23.126011;113.343918,23.125994;113.344185,23.125978;113.344452,23.125959;113.344872,23.125929;113.345726,23.125860;113.345970,23.125834;113.346107,23.125816;113.346306,23.125793;113.347244,23.125738;113.347427,23.125769;113.347710,23.125738;113.348137,23.125673;113.348648,23.125608;113.348923,23.125565;113.350349,23.125338;113.351479,23.125170;113.351540,23.125050;113.351654,23.124945;113.351746,23.124908;113.352234,23.124823;113.352272,23.124796;113.352341,23.124741;113.352661,23.125004;113.353271,23.124891;113.353760,23.124809;113.355286,23.124523;113.355789,23.124432;113.356339,23.124336;113.356659,23.124231;113.356934,23.124193;113.357269,23.124136;113.357979,23.124002&#39;,
         &#39;bustimetag&#39;: &#39;0&#39;,
         &#39;start_time&#39;: &#39;0615&#39;,
         &#39;end_time&#39;: &#39;2230&#39;,
         &#39;via_num&#39;: &#39;8&#39;,
         &#39;via_stops&#39;: [{&#39;name&#39;: &#39;东风东路站&#39;,
           &#39;id&#39;: &#39;440100016786016&#39;,
           &#39;location&#39;: &#39;113.303513,23.131758&#39;},
          {&#39;name&#39;: &#39;东峻广场&#39;,
           &#39;id&#39;: &#39;440100016786017&#39;,
           &#39;location&#39;: &#39;113.306862,23.131800&#39;},
          {&#39;name&#39;: &#39;锦城花园&#39;,
           &#39;id&#39;: &#39;440100016786037&#39;,
           &#39;location&#39;: &#39;113.310692,23.131544&#39;},
          {&#39;name&#39;: &#39;华夏路北&#39;,
           &#39;id&#39;: &#39;440100016786019&#39;,
           &#39;location&#39;: &#39;113.321175,23.126129&#39;},
          {&#39;name&#39;: &#39;冼村&#39;,
           &#39;id&#39;: &#39;440100016786021&#39;,
           &#39;location&#39;: &#39;113.329811,23.126940&#39;},
          {&#39;name&#39;: &#39;石牌村&#39;,
           &#39;id&#39;: &#39;440100016786022&#39;,
           &#39;location&#39;: &#39;113.339523,23.126389&#39;},
          {&#39;name&#39;: &#39;国防大厦&#39;,
           &#39;id&#39;: &#39;440100016786023&#39;,
           &#39;location&#39;: &#39;113.344872,23.125929&#39;},
          {&#39;name&#39;: &#39;华侨医院(潭村)&#39;,
           &#39;id&#39;: &#39;440100016786038&#39;,
           &#39;location&#39;: &#39;113.352234,23.124823&#39;}]}]},
      &#39;entrance&#39;: [],
      &#39;exit&#39;: [],
      &#39;railway&#39;: {&#39;via_stops&#39;: [], &#39;alters&#39;: [], &#39;spaces&#39;: []}},
     {&#39;taxi&#39;: [],
      &#39;walking&#39;: {&#39;origin&#39;: &#39;113.357956,23.124006&#39;,
       &#39;destination&#39;: &#39;113.361488,23.124657&#39;,
       &#39;distance&#39;: &#39;643&#39;,
       &#39;duration&#39;: &#39;551&#39;,
       &#39;steps&#39;: [{&#39;instruction&#39;: &#39;沿黄埔大道中步行120米靠右&#39;,
         &#39;road&#39;: &#39;黄埔大道中&#39;,
         &#39;distance&#39;: &#39;120&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.357956,23.124006;113.358078,23.123985;113.358284,23.123949;113.358475,23.123911;113.358894,23.123837;113.359131,23.123793&#39;,
         &#39;action&#39;: &#39;靠右&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿黄埔大道中步行303米左转&#39;,
         &#39;road&#39;: &#39;黄埔大道中&#39;,
         &#39;distance&#39;: &#39;303&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.359131,23.123789;113.359268,23.123720;113.359497,23.123667;113.360611,23.123455;113.360641,23.123451;113.361023,23.123363;113.361397,23.123289;113.361473,23.123272;113.361694,23.123211;113.362045,23.123121&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿天府路步行39米左转&#39;,
         &#39;road&#39;: &#39;天府路&#39;,
         &#39;distance&#39;: &#39;39&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.362045,23.123116;113.362083,23.123472&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿黄埔大道中步行68米右转&#39;,
         &#39;road&#39;: &#39;黄埔大道中&#39;,
         &#39;distance&#39;: &#39;68&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.362083,23.123472;113.361572,23.123598;113.361427,23.123625&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行41米往前走&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;41&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.361427,23.123625;113.361443,23.123772;113.361443,23.124002&#39;,
         &#39;action&#39;: &#39;往前走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行13米往前走&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;13&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.361443,23.124002;113.361450,23.124128&#39;,
         &#39;action&#39;: &#39;往前走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行59米&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;59&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.361450,23.124128;113.361488,23.124657&#39;,
         &#39;action&#39;: [],
         &#39;assistant_action&#39;: []}]},
      &#39;bus&#39;: {&#39;buslines&#39;: []},
      &#39;entrance&#39;: [],
      &#39;exit&#39;: [],
      &#39;railway&#39;: {&#39;via_stops&#39;: [], &#39;alters&#39;: [], &#39;spaces&#39;: []}}]},
   {&#39;cost&#39;: &#39;4.0&#39;,
    &#39;duration&#39;: &#39;2899&#39;,
    &#39;nightflag&#39;: &#39;0&#39;,
    &#39;walking_distance&#39;: &#39;1755&#39;,
    &#39;distance&#39;: &#39;9057&#39;,
    &#39;missed&#39;: &#39;0&#39;,
    &#39;segments&#39;: [{&#39;taxi&#39;: [],
      &#39;walking&#39;: {&#39;origin&#39;: &#39;113.290367,23.128555&#39;,
       &#39;destination&#39;: &#39;113.285667,23.126701&#39;,
       &#39;distance&#39;: &#39;820&#39;,
       &#39;duration&#39;: &#39;702&#39;,
       &#39;steps&#39;: [{&#39;instruction&#39;: &#39;沿岭南路步行152米左转&#39;,
         &#39;road&#39;: &#39;岭南路&#39;,
         &#39;distance&#39;: &#39;152&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.290367,23.128555;113.290298,23.128311;113.290245,23.128094;113.290176,23.127834;113.290115,23.127705;113.290047,23.127596;113.289932,23.127483;113.289833,23.127426;113.289719,23.127392&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿岭南路步行75米往前走&#39;,
         &#39;road&#39;: &#39;岭南路&#39;,
         &#39;distance&#39;: &#39;75&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.289719,23.127388;113.289894,23.127035;113.289902,23.126957;113.289864,23.126745&#39;,
         &#39;action&#39;: &#39;往前走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿杏林路步行155米左转&#39;,
         &#39;road&#39;: &#39;杏林路&#39;,
         &#39;distance&#39;: &#39;155&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.289864,23.126740;113.289742,23.126163;113.289703,23.126085;113.289635,23.126041;113.289558,23.126020;113.289474,23.126020;113.289253,23.126045;113.288940,23.126093&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行32米往前走&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;32&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.288940,23.126093;113.288879,23.125807&#39;,
         &#39;action&#39;: &#39;往前走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿逸仙路步行16米右转&#39;,
         &#39;road&#39;: &#39;逸仙路&#39;,
         &#39;distance&#39;: &#39;16&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.288879,23.125803;113.288857,23.125769;113.288811,23.125668&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿中山二路步行220米往前走&#39;,
         &#39;road&#39;: &#39;中山二路&#39;,
         &#39;distance&#39;: &#39;220&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.288803,23.125664;113.287842,23.126041;113.287010,23.126358;113.286797,23.126436&#39;,
         &#39;action&#39;: &#39;往前走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿中山三路步行32米右转&#39;,
         &#39;road&#39;: &#39;中山三路&#39;,
         &#39;distance&#39;: &#39;32&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.286789,23.126436;113.286491,23.126514&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行138米到达烈士陵园&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;138&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.286491,23.126514;113.286560,23.126728;113.286377,23.126780;113.286301,23.126541;113.285667,23.126701&#39;,
         &#39;action&#39;: [],
         &#39;assistant_action&#39;: &#39;到达烈士陵园&#39;}]},
      &#39;bus&#39;: {&#39;buslines&#39;: [{&#39;departure_stop&#39;: {&#39;name&#39;: &#39;烈士陵园&#39;,
          &#39;id&#39;: &#39;440100023050012&#39;,
          &#39;location&#39;: &#39;113.285663,23.126704&#39;},
         &#39;arrival_stop&#39;: {&#39;name&#39;: &#39;杨箕&#39;,
          &#39;id&#39;: &#39;440100023050014&#39;,
          &#39;location&#39;: &#39;113.308877,23.128137&#39;},
         &#39;name&#39;: &#39;地铁1号线(西塱--广州东站)&#39;,
         &#39;id&#39;: &#39;440100023050&#39;,
         &#39;type&#39;: &#39;地铁线路&#39;,
         &#39;distance&#39;: &#39;2761&#39;,
         &#39;duration&#39;: &#39;289&#39;,
         &#39;polyline&#39;: &#39;113.285663,23.126704;113.286664,23.126439;113.286710,23.126422;113.286808,23.126380;113.286927,23.126336;113.287355,23.126162;113.288293,23.125803;113.288728,23.125623;113.289067,23.125502;113.289285,23.125420;113.289562,23.125325;113.289980,23.125210;113.291440,23.124819;113.292735,23.124499;113.293696,23.124254;113.294130,23.124160;113.295373,23.123980;113.296630,23.123797;113.296880,23.123771;113.297093,23.123788;113.297758,23.123894;113.298692,23.124056;113.299513,23.124281;113.301290,23.124878;113.302367,23.125220;113.303052,23.125418;113.303679,23.125634;113.304151,23.125812;113.304782,23.126087;113.305306,23.126327;113.305986,23.126659;113.307209,23.127364;113.307628,23.127575;113.308877,23.128137&#39;,
         &#39;bustimetag&#39;: &#39;0&#39;,
         &#39;start_time&#39;: &#39;0600&#39;,
         &#39;end_time&#39;: &#39;2255&#39;,
         &#39;via_num&#39;: &#39;1&#39;,
         &#39;via_stops&#39;: [{&#39;name&#39;: &#39;东山口&#39;,
           &#39;id&#39;: &#39;440100023050013&#39;,
           &#39;location&#39;: &#39;113.295373,23.123980&#39;}]}]},
      &#39;entrance&#39;: {&#39;name&#39;: &#39;C口&#39;, &#39;location&#39;: &#39;113.286560,23.126730&#39;},
      &#39;exit&#39;: {&#39;name&#39;: &#39;B口&#39;, &#39;location&#39;: &#39;113.309090,23.128078&#39;},
      &#39;railway&#39;: {&#39;via_stops&#39;: [], &#39;alters&#39;: [], &#39;spaces&#39;: []}},
     {&#39;taxi&#39;: [],
      &#39;walking&#39;: {&#39;origin&#39;: &#39;113.308876,23.128128&#39;,
       &#39;destination&#39;: &#39;113.311317,23.129028&#39;,
       &#39;distance&#39;: &#39;292&#39;,
       &#39;duration&#39;: &#39;250&#39;,
       &#39;steps&#39;: [{&#39;instruction&#39;: &#39;步行41米右转&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;41&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.308876,23.128128;113.309029,23.128195;113.309097,23.128077;113.309074,23.128073;113.309036,23.128134&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿中山一路步行251米到达杨箕村&#39;,
         &#39;road&#39;: &#39;中山一路&#39;,
         &#39;distance&#39;: &#39;251&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.309029,23.128134;113.309082,23.128155;113.309525,23.128342;113.309631,23.128389;113.310272,23.128662;113.310471,23.128746;113.310776,23.128866;113.311188,23.128992;113.311317,23.129028&#39;,
         &#39;action&#39;: [],
         &#39;assistant_action&#39;: &#39;到达杨箕村&#39;}]},
      &#39;bus&#39;: {&#39;buslines&#39;: [{&#39;departure_stop&#39;: {&#39;name&#39;: &#39;杨箕村&#39;,
          &#39;id&#39;: &#39;440100015209003&#39;,
          &#39;location&#39;: &#39;113.311325,23.129026&#39;},
         &#39;arrival_stop&#39;: {&#39;name&#39;: &#39;员村山顶&#39;,
          &#39;id&#39;: &#39;440100015209009&#39;,
          &#39;location&#39;: &#39;113.357956,23.124006&#39;},
         &#39;name&#39;: &#39;B15路(锦城花园总站(东风东)--天河儿童公园北门总站)&#39;,
         &#39;id&#39;: &#39;440100015209&#39;,
         &#39;type&#39;: [],
         &#39;distance&#39;: &#39;4541&#39;,
         &#39;duration&#39;: &#39;1106&#39;,
         &#39;polyline&#39;: &#39;113.311325,23.129026;113.311317,23.129026;113.311455,23.129063;113.312157,23.129181;113.312637,23.129240;113.312988,23.129290;113.313171,23.129313;113.313622,23.129362;113.313789,23.129379;113.314018,23.129379;113.314415,23.129345;113.314705,23.129297;113.314850,23.129250;113.314941,23.129158;113.315079,23.129084;113.315147,23.129066;113.315186,23.129057;113.315437,23.129026;113.315582,23.129040;113.315659,23.129070;113.316429,23.128702;113.316895,23.128515;113.317520,23.128273;113.318008,23.128069;113.318634,23.127773;113.318741,23.127728;113.319016,23.127630;113.319237,23.127583;113.319611,23.127541;113.319817,23.127535;113.320396,23.127501;113.320389,23.127501;113.321037,23.127460;113.321503,23.127468;113.321609,23.127478;113.321739,23.127522;113.323975,23.127369;113.324806,23.127323;113.324913,23.127266;113.325500,23.127239;113.326454,23.127178;113.327408,23.127117;113.327682,23.127090;113.327965,23.127071;113.328224,23.127048;113.328590,23.127022;113.329628,23.126953;113.329674,23.126949;113.329765,23.126944;113.330971,23.126875;113.332169,23.126799;113.332664,23.126762;113.333176,23.126722;113.333786,23.126684;113.333946,23.126675;113.334106,23.126671;113.334541,23.126648;113.334961,23.126627;113.334984,23.126627;113.335304,23.126616;113.335770,23.126602;113.336403,23.126572;113.336655,23.126562;113.336777,23.126602;113.337181,23.126566;113.337830,23.126516;113.337929,23.126507;113.338425,23.126467;113.339203,23.126411;113.339432,23.126398;113.339493,23.126389;113.339500,23.126389;113.339493,23.126389;113.340179,23.126347;113.340408,23.126253;113.340797,23.126221;113.341324,23.126171;113.341728,23.126139;113.341919,23.126125;113.342270,23.126102;113.342697,23.126072;113.343109,23.126047;113.343246,23.126038;113.343369,23.126028;113.343491,23.126024;113.343704,23.126011;113.343918,23.125994;113.344185,23.125978;113.344452,23.125959;113.344963,23.125919;113.345726,23.125860;113.345970,23.125834;113.346107,23.125816;113.346306,23.125793;113.347244,23.125738;113.347427,23.125769;113.347710,23.125738;113.348137,23.125673;113.348648,23.125608;113.348923,23.125565;113.350349,23.125338;113.351479,23.125170;113.351540,23.125050;113.351654,23.124945;113.351746,23.124908;113.352234,23.124823;113.352249,23.124823;113.352356,23.124823;113.352661,23.125004;113.353271,23.124891;113.353760,23.124809;113.355286,23.124523;113.355789,23.124432;113.356339,23.124336;113.356659,23.124231;113.356934,23.124193;113.357269,23.124136;113.357536,23.124084;113.357956,23.124006&#39;,
         &#39;bustimetag&#39;: &#39;0&#39;,
         &#39;start_time&#39;: [],
         &#39;end_time&#39;: [],
         &#39;via_num&#39;: &#39;5&#39;,
         &#39;via_stops&#39;: [{&#39;name&#39;: &#39;天河&#39;,
           &#39;id&#39;: &#39;440100015209004&#39;,
           &#39;location&#39;: &#39;113.320396,23.127501&#39;},
          {&#39;name&#39;: &#39;冼村&#39;,
           &#39;id&#39;: &#39;440100015209005&#39;,
           &#39;location&#39;: &#39;113.329674,23.126949&#39;},
          {&#39;name&#39;: &#39;石牌村&#39;,
           &#39;id&#39;: &#39;440100015209006&#39;,
           &#39;location&#39;: &#39;113.339493,23.126389&#39;},
          {&#39;name&#39;: &#39;国防大厦&#39;,
           &#39;id&#39;: &#39;440100015209007&#39;,
           &#39;location&#39;: &#39;113.344963,23.125919&#39;},
          {&#39;name&#39;: &#39;华侨医院(潭村)站&#39;,
           &#39;id&#39;: &#39;440100015209026&#39;,
           &#39;location&#39;: &#39;113.352249,23.124823&#39;}]}]},
      &#39;entrance&#39;: [],
      &#39;exit&#39;: [],
      &#39;railway&#39;: {&#39;via_stops&#39;: [], &#39;alters&#39;: [], &#39;spaces&#39;: []}},
     {&#39;taxi&#39;: [],
      &#39;walking&#39;: {&#39;origin&#39;: &#39;113.357956,23.124006&#39;,
       &#39;destination&#39;: &#39;113.361488,23.124657&#39;,
       &#39;distance&#39;: &#39;643&#39;,
       &#39;duration&#39;: &#39;551&#39;,
       &#39;steps&#39;: [{&#39;instruction&#39;: &#39;沿黄埔大道中步行120米靠右&#39;,
         &#39;road&#39;: &#39;黄埔大道中&#39;,
         &#39;distance&#39;: &#39;120&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.357956,23.124006;113.358078,23.123985;113.358284,23.123949;113.358475,23.123911;113.358894,23.123837;113.359131,23.123793&#39;,
         &#39;action&#39;: &#39;靠右&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿黄埔大道中步行303米左转&#39;,
         &#39;road&#39;: &#39;黄埔大道中&#39;,
         &#39;distance&#39;: &#39;303&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.359131,23.123789;113.359268,23.123720;113.359497,23.123667;113.360611,23.123455;113.360641,23.123451;113.361023,23.123363;113.361397,23.123289;113.361473,23.123272;113.361694,23.123211;113.362045,23.123121&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿天府路步行39米左转&#39;,
         &#39;road&#39;: &#39;天府路&#39;,
         &#39;distance&#39;: &#39;39&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.362045,23.123116;113.362083,23.123472&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿黄埔大道中步行68米右转&#39;,
         &#39;road&#39;: &#39;黄埔大道中&#39;,
         &#39;distance&#39;: &#39;68&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.362083,23.123472;113.361572,23.123598;113.361427,23.123625&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行41米往前走&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;41&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.361427,23.123625;113.361443,23.123772;113.361443,23.124002&#39;,
         &#39;action&#39;: &#39;往前走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行13米往前走&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;13&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.361443,23.124002;113.361450,23.124128&#39;,
         &#39;action&#39;: &#39;往前走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行59米&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;59&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.361450,23.124128;113.361488,23.124657&#39;,
         &#39;action&#39;: [],
         &#39;assistant_action&#39;: []}]},
      &#39;bus&#39;: {&#39;buslines&#39;: []},
      &#39;entrance&#39;: [],
      &#39;exit&#39;: [],
      &#39;railway&#39;: {&#39;via_stops&#39;: [], &#39;alters&#39;: [], &#39;spaces&#39;: []}}]},
   {&#39;cost&#39;: &#39;2.0&#39;,
    &#39;duration&#39;: &#39;3128&#39;,
    &#39;nightflag&#39;: &#39;0&#39;,
    &#39;walking_distance&#39;: &#39;979&#39;,
    &#39;distance&#39;: &#39;8224&#39;,
    &#39;missed&#39;: &#39;0&#39;,
    &#39;segments&#39;: [{&#39;taxi&#39;: [],
      &#39;walking&#39;: {&#39;origin&#39;: &#39;113.290367,23.128555&#39;,
       &#39;destination&#39;: &#39;113.293068,23.130842&#39;,
       &#39;distance&#39;: &#39;495&#39;,
       &#39;duration&#39;: &#39;424&#39;,
       &#39;steps&#39;: [{&#39;instruction&#39;: &#39;沿岭南路步行139米右转&#39;,
         &#39;road&#39;: &#39;岭南路&#39;,
         &#39;distance&#39;: &#39;139&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.290367,23.128555;113.290443,23.128807;113.290588,23.129210;113.290710,23.129545;113.290810,23.129753&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行108米左转&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;108&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.290810,23.129753;113.290848,23.129696;113.290916,23.129669;113.291260,23.129675;113.291672,23.129683;113.291817,23.129744&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿执信南路步行110米右转&#39;,
         &#39;road&#39;: &#39;执信南路&#39;,
         &#39;distance&#39;: &#39;110&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.291817,23.129744;113.291779,23.130251;113.291756,23.130438;113.291740,23.130642;113.291733,23.130754&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿东风东路步行138米到达执信路&#39;,
         &#39;road&#39;: &#39;东风东路&#39;,
         &#39;distance&#39;: &#39;138&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.291733,23.130754;113.291924,23.130764;113.292053,23.130833;113.292274,23.130833;113.292702,23.130838;113.293068,23.130842&#39;,
         &#39;action&#39;: [],
         &#39;assistant_action&#39;: &#39;到达执信路&#39;}]},
      &#39;bus&#39;: {&#39;buslines&#39;: [{&#39;departure_stop&#39;: {&#39;name&#39;: &#39;执信路&#39;,
          &#39;id&#39;: &#39;440100016432015&#39;,
          &#39;location&#39;: &#39;113.293068,23.130842&#39;},
         &#39;arrival_stop&#39;: {&#39;name&#39;: &#39;员村&#39;,
          &#39;id&#39;: &#39;440100016432047&#39;,
          &#39;location&#39;: &#39;113.364624,23.122396&#39;},
         &#39;name&#39;: &#39;261路(河沙总站--鱼珠总站)&#39;,
         &#39;id&#39;: &#39;440100016432&#39;,
         &#39;type&#39;: &#39;普通公交线路&#39;,
         &#39;distance&#39;: &#39;7245&#39;,
         &#39;duration&#39;: &#39;2289&#39;,
         &#39;polyline&#39;: &#39;113.293068,23.130842;113.293152,23.130842;113.293709,23.130842;113.294434,23.130846;113.295197,23.130875;113.295334,23.130838;113.296204,23.130846;113.296661,23.130859;113.296936,23.130865;113.297188,23.130875;113.297241,23.130880;113.297920,23.130928;113.297997,23.130938;113.298607,23.131002;113.298775,23.131039;113.298904,23.131052;113.299393,23.131138;113.299896,23.131229;113.300201,23.131289;113.300575,23.131363;113.300652,23.131453;113.301003,23.131493;113.301712,23.131626;113.302734,23.131758;113.303474,23.131758;113.303528,23.131758;113.304001,23.131771;113.304451,23.131775;113.305061,23.131788;113.306145,23.131800;113.306854,23.131800;113.306854,23.131802;113.307549,23.131802;113.307777,23.131819;113.308853,23.131819;113.309143,23.131823;113.309502,23.131792;113.309654,23.131779;113.309860,23.131741;113.310295,23.131659;113.310570,23.131580;113.310799,23.131502;113.310799,23.131512;113.310867,23.131493;113.310974,23.131411;113.311447,23.131207;113.312126,23.130911;113.312202,23.130838;113.312408,23.130733;113.312805,23.130564;113.312988,23.130478;113.313141,23.130404;113.313370,23.130295;113.313416,23.130255;113.313499,23.130209;113.314163,23.129887;113.314812,23.129566;113.314796,23.129480;113.314812,23.129353;113.314850,23.129250;113.314941,23.129158;113.315079,23.129084;113.315147,23.129066;113.315186,23.129057;113.315437,23.129026;113.315582,23.129040;113.315659,23.129070;113.316429,23.128702;113.316895,23.128515;113.317520,23.128273;113.318008,23.128069;113.318634,23.127773;113.318741,23.127728;113.319016,23.127630;113.319237,23.127583;113.319412,23.127560;113.319611,23.127541;113.319817,23.127535;113.321037,23.127460;113.321503,23.127468;113.321609,23.127478;113.321739,23.127522;113.323975,23.127369;113.324806,23.127323;113.324913,23.127266;113.325500,23.127239;113.326454,23.127178;113.327408,23.127117;113.327682,23.127090;113.327965,23.127071;113.328224,23.127048;113.328590,23.127022;113.329628,23.126953;113.329765,23.126944;113.329834,23.126940;113.330971,23.126875;113.332169,23.126799;113.332664,23.126762;113.333176,23.126722;113.333786,23.126684;113.333946,23.126675;113.334106,23.126671;113.334541,23.126648;113.334961,23.126627;113.334984,23.126627;113.335770,23.126602;113.336403,23.126572;113.336655,23.126562;113.336777,23.126602;113.337181,23.126566;113.337830,23.126516;113.337929,23.126507;113.338425,23.126467;113.339432,23.126398;113.339577,23.126385;113.340179,23.126347;113.340408,23.126253;113.340797,23.126221;113.341324,23.126171;113.341728,23.126139;113.341919,23.126125;113.342270,23.126102;113.342697,23.126072;113.343109,23.126047;113.343246,23.126038;113.343369,23.126028;113.343491,23.126024;113.343704,23.126011;113.343918,23.125994;113.344185,23.125978;113.344452,23.125959;113.345024,23.125916;113.345726,23.125860;113.345970,23.125834;113.346107,23.125816;113.346306,23.125793;113.347244,23.125738;113.347427,23.125769;113.347710,23.125738;113.348137,23.125673;113.348648,23.125608;113.348923,23.125565;113.350349,23.125338;113.351479,23.125170;113.351540,23.125050;113.351654,23.124945;113.351746,23.124908;113.352158,23.124836;113.352165,23.124836;113.352173,23.124830;113.352219,23.124823;113.352272,23.124796;113.352341,23.124739;113.352654,23.125004;113.353279,23.124891;113.353760,23.124805;113.355278,23.124527;113.355782,23.124432;113.356339,23.124336;113.356659,23.124237;113.357277,23.124136;113.358002,23.123997;113.358002,23.123999;113.358086,23.123980;113.358429,23.123920;113.358482,23.123907;113.358894,23.123833;113.359085,23.123793;113.359261,23.123716;113.359505,23.123663;113.360619,23.123451;113.361298,23.123306;113.361473,23.123268;113.362045,23.123116;113.362175,23.123083;113.362808,23.122910;113.364151,23.122505;113.364540,23.122400;113.364624,23.122396&#39;,
         &#39;bustimetag&#39;: &#39;0&#39;,
         &#39;start_time&#39;: &#39;0600&#39;,
         &#39;end_time&#39;: &#39;2230&#39;,
         &#39;via_num&#39;: &#39;9&#39;,
         &#39;via_stops&#39;: [{&#39;name&#39;: &#39;东风东路站&#39;,
           &#39;id&#39;: &#39;440100016432016&#39;,
           &#39;location&#39;: &#39;113.303474,23.131758&#39;},
          {&#39;name&#39;: &#39;东峻广场&#39;,
           &#39;id&#39;: &#39;440100016432042&#39;,
           &#39;location&#39;: &#39;113.306854,23.131800&#39;},
          {&#39;name&#39;: &#39;锦城花园&#39;,
           &#39;id&#39;: &#39;440100016432043&#39;,
           &#39;location&#39;: &#39;113.310799,23.131502&#39;},
          {&#39;name&#39;: &#39;天河&#39;,
           &#39;id&#39;: &#39;440100016432044&#39;,
           &#39;location&#39;: &#39;113.319412,23.127560&#39;},
          {&#39;name&#39;: &#39;冼村&#39;,
           &#39;id&#39;: &#39;440100016432045&#39;,
           &#39;location&#39;: &#39;113.329834,23.126940&#39;},
          {&#39;name&#39;: &#39;石牌村&#39;,
           &#39;id&#39;: &#39;440100016432021&#39;,
           &#39;location&#39;: &#39;113.339577,23.126385&#39;},
          {&#39;name&#39;: &#39;国防大厦&#39;,
           &#39;id&#39;: &#39;440100016432022&#39;,
           &#39;location&#39;: &#39;113.345024,23.125916&#39;},
          {&#39;name&#39;: &#39;华侨医院(潭村)&#39;,
           &#39;id&#39;: &#39;440100016432046&#39;,
           &#39;location&#39;: &#39;113.352158,23.124836&#39;},
          {&#39;name&#39;: &#39;员村山顶&#39;,
           &#39;id&#39;: &#39;440100016432024&#39;,
           &#39;location&#39;: &#39;113.358002,23.123997&#39;}]}]},
      &#39;entrance&#39;: [],
      &#39;exit&#39;: [],
      &#39;railway&#39;: {&#39;via_stops&#39;: [], &#39;alters&#39;: [], &#39;spaces&#39;: []}},
     {&#39;taxi&#39;: [],
      &#39;walking&#39;: {&#39;origin&#39;: &#39;113.364540,23.122400&#39;,
       &#39;destination&#39;: &#39;113.361488,23.124657&#39;,
       &#39;distance&#39;: &#39;484&#39;,
       &#39;duration&#39;: &#39;414&#39;,
       &#39;steps&#39;: [{&#39;instruction&#39;: &#39;沿黄埔大道中步行253米右转&#39;,
         &#39;road&#39;: &#39;黄埔大道中&#39;,
         &#39;distance&#39;: &#39;253&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.364540,23.122400;113.364151,23.122509;113.362816,23.122908;113.362656,23.122955;113.362183,23.123081&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿天府路步行40米左转&#39;,
         &#39;road&#39;: &#39;天府路&#39;,
         &#39;distance&#39;: &#39;40&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.362175,23.123081;113.362183,23.123446&#39;,
         &#39;action&#39;: &#39;左转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;沿黄埔大道中步行78米右转&#39;,
         &#39;road&#39;: &#39;黄埔大道中&#39;,
         &#39;distance&#39;: &#39;78&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.362183,23.123446;113.362091,23.123472;113.361572,23.123598;113.361427,23.123625&#39;,
         &#39;action&#39;: &#39;右转&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行41米往前走&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;41&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.361427,23.123625;113.361443,23.123772;113.361443,23.124002&#39;,
         &#39;action&#39;: &#39;往前走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行13米往前走&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;13&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.361443,23.124002;113.361450,23.124128&#39;,
         &#39;action&#39;: &#39;往前走&#39;,
         &#39;assistant_action&#39;: []},
        {&#39;instruction&#39;: &#39;步行59米&#39;,
         &#39;road&#39;: [],
         &#39;distance&#39;: &#39;59&#39;,
         &#39;duration&#39;: [],
         &#39;polyline&#39;: &#39;113.361450,23.124128;113.361488,23.124657&#39;,
         &#39;action&#39;: [],
         &#39;assistant_action&#39;: []}]},
      &#39;bus&#39;: {&#39;buslines&#39;: []},
      &#39;entrance&#39;: [],
      &#39;exit&#39;: [],
      &#39;railway&#39;: {&#39;via_stops&#39;: [], &#39;alters&#39;: [], &#39;spaces&#39;: []}}]}]}}</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="3.&#34892;&#25919;&#21306;&#22495;&#26597;&#35810;">3.&#34892;&#25919;&#21306;&#22495;&#26597;&#35810;<a class="anchor-link" href="#3.&#34892;&#25919;&#21306;&#22495;&#26597;&#35810;">&#182;</a></h3><h4 id="&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;&#25628;&#32034;&#26465;&#20214;&#21487;&#20197;&#24110;&#21161;&#29992;&#25143;&#24555;&#36895;&#30340;&#26597;&#25214;&#29305;&#23450;&#30340;&#34892;&#25919;&#21306;&#22495;&#20449;&#24687;">&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;&#25628;&#32034;&#26465;&#20214;&#21487;&#20197;&#24110;&#21161;&#29992;&#25143;&#24555;&#36895;&#30340;&#26597;&#25214;&#29305;&#23450;&#30340;&#34892;&#25919;&#21306;&#22495;&#20449;&#24687;<a class="anchor-link" href="#&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;&#25628;&#32034;&#26465;&#20214;&#21487;&#20197;&#24110;&#21161;&#29992;&#25143;&#24555;&#36895;&#30340;&#26597;&#25214;&#29305;&#23450;&#30340;&#34892;&#25919;&#21306;&#22495;&#20449;&#24687;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>思考：将行政区域的规划分类弄好，一级二级等，便于用户快速查找</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[138]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">district</span><span class="p">(</span><span class="n">keywords</span><span class="p">,</span><span class="n">subdistrict</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">page</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">offset</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">extensions</span><span class="o">=</span><span class="s1">&#39;base&#39;</span><span class="p">,</span><span class="nb">filter</span><span class="o">=</span><span class="kc">None</span><span class="p">,)</span><span class="o">-&gt;</span><span class="nb">dict</span><span class="p">:</span>
    <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;https://restapi.amap.com/v3/config/district?parameters&#39;</span>
    <span class="n">params</span><span class="o">=</span><span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span><span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;keywords&#39;</span><span class="p">:</span><span class="n">keywords</span><span class="p">,</span>
        <span class="s1">&#39;subdistrict&#39;</span><span class="p">:</span><span class="n">subdistrict</span><span class="p">,</span>
        <span class="s1">&#39;page&#39;</span><span class="p">:</span><span class="n">page</span><span class="p">,</span>
        <span class="s1">&#39;offset&#39;</span><span class="p">:</span><span class="n">offset</span><span class="p">,</span>
        <span class="s1">&#39;extensions&#39;</span><span class="p">:</span><span class="n">extensions</span><span class="p">,</span>
        <span class="s1">&#39;filter&#39;</span><span class="p">:</span><span class="nb">filter</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
    <span class="k">return</span> <span class="n">data</span>
<span class="n">行政区域</span> <span class="o">=</span> <span class="n">district</span><span class="p">(</span><span class="n">keywords</span><span class="o">=</span><span class="s1">&#39;广东&#39;</span><span class="p">,</span><span class="n">extensions</span><span class="o">=</span><span class="s1">&#39;all&#39;</span><span class="p">,</span><span class="n">subdistrict</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[140]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">行政区域_1级</span> <span class="o">=</span> <span class="n">行政区域</span><span class="p">[</span><span class="s2">&quot;districts&quot;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;districts&#39;</span><span class="p">]</span>
</pre></div>

    </div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[141]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">行政区域_1级</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt output_prompt">Out[141]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>[{&#39;citycode&#39;: &#39;0758&#39;,
  &#39;adcode&#39;: &#39;441200&#39;,
  &#39;name&#39;: &#39;肇庆市&#39;,
  &#39;center&#39;: &#39;112.472529,23.051546&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0758&#39;,
    &#39;adcode&#39;: &#39;441224&#39;,
    &#39;name&#39;: &#39;怀集县&#39;,
    &#39;center&#39;: &#39;112.182466,23.913072&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0758&#39;,
    &#39;adcode&#39;: &#39;441223&#39;,
    &#39;name&#39;: &#39;广宁县&#39;,
    &#39;center&#39;: &#39;112.440419,23.631486&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0758&#39;,
    &#39;adcode&#39;: &#39;441225&#39;,
    &#39;name&#39;: &#39;封开县&#39;,
    &#39;center&#39;: &#39;111.502973,23.434731&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0758&#39;,
    &#39;adcode&#39;: &#39;441284&#39;,
    &#39;name&#39;: &#39;四会市&#39;,
    &#39;center&#39;: &#39;112.695028,23.340324&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0758&#39;,
    &#39;adcode&#39;: &#39;441226&#39;,
    &#39;name&#39;: &#39;德庆县&#39;,
    &#39;center&#39;: &#39;111.78156,23.141711&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0758&#39;,
    &#39;adcode&#39;: &#39;441203&#39;,
    &#39;name&#39;: &#39;鼎湖区&#39;,
    &#39;center&#39;: &#39;112.565249,23.155822&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0758&#39;,
    &#39;adcode&#39;: &#39;441202&#39;,
    &#39;name&#39;: &#39;端州区&#39;,
    &#39;center&#39;: &#39;112.472329,23.052662&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0758&#39;,
    &#39;adcode&#39;: &#39;441204&#39;,
    &#39;name&#39;: &#39;高要区&#39;,
    &#39;center&#39;: &#39;112.460846,23.027694&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0757&#39;,
  &#39;adcode&#39;: &#39;440600&#39;,
  &#39;name&#39;: &#39;佛山市&#39;,
  &#39;center&#39;: &#39;113.122717,23.028762&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0757&#39;,
    &#39;adcode&#39;: &#39;440607&#39;,
    &#39;name&#39;: &#39;三水区&#39;,
    &#39;center&#39;: &#39;112.899414,23.16504&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0757&#39;,
    &#39;adcode&#39;: &#39;440608&#39;,
    &#39;name&#39;: &#39;高明区&#39;,
    &#39;center&#39;: &#39;112.882123,22.893855&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0757&#39;,
    &#39;adcode&#39;: &#39;440606&#39;,
    &#39;name&#39;: &#39;顺德区&#39;,
    &#39;center&#39;: &#39;113.281826,22.75851&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0757&#39;,
    &#39;adcode&#39;: &#39;440604&#39;,
    &#39;name&#39;: &#39;禅城区&#39;,
    &#39;center&#39;: &#39;113.112414,23.019643&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0757&#39;,
    &#39;adcode&#39;: &#39;440605&#39;,
    &#39;name&#39;: &#39;南海区&#39;,
    &#39;center&#39;: &#39;113.145577,23.031562&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0754&#39;,
  &#39;adcode&#39;: &#39;440500&#39;,
  &#39;name&#39;: &#39;汕头市&#39;,
  &#39;center&#39;: &#39;116.708463,23.37102&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0754&#39;,
    &#39;adcode&#39;: &#39;440513&#39;,
    &#39;name&#39;: &#39;潮阳区&#39;,
    &#39;center&#39;: &#39;116.602602,23.262336&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0754&#39;,
    &#39;adcode&#39;: &#39;440512&#39;,
    &#39;name&#39;: &#39;濠江区&#39;,
    &#39;center&#39;: &#39;116.729528,23.279345&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0754&#39;,
    &#39;adcode&#39;: &#39;440523&#39;,
    &#39;name&#39;: &#39;南澳县&#39;,
    &#39;center&#39;: &#39;117.027105,23.419562&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0754&#39;,
    &#39;adcode&#39;: &#39;440515&#39;,
    &#39;name&#39;: &#39;澄海区&#39;,
    &#39;center&#39;: &#39;116.76336,23.46844&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0754&#39;,
    &#39;adcode&#39;: &#39;440514&#39;,
    &#39;name&#39;: &#39;潮南区&#39;,
    &#39;center&#39;: &#39;116.423607,23.249798&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0754&#39;,
    &#39;adcode&#39;: &#39;440511&#39;,
    &#39;name&#39;: &#39;金平区&#39;,
    &#39;center&#39;: &#39;116.703583,23.367071&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0754&#39;,
    &#39;adcode&#39;: &#39;440507&#39;,
    &#39;name&#39;: &#39;龙湖区&#39;,
    &#39;center&#39;: &#39;116.732015,23.373754&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0752&#39;,
  &#39;adcode&#39;: &#39;441300&#39;,
  &#39;name&#39;: &#39;惠州市&#39;,
  &#39;center&#39;: &#39;114.412599,23.079404&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0752&#39;,
    &#39;adcode&#39;: &#39;441324&#39;,
    &#39;name&#39;: &#39;龙门县&#39;,
    &#39;center&#39;: &#39;114.259986,23.723894&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0752&#39;,
    &#39;adcode&#39;: &#39;441322&#39;,
    &#39;name&#39;: &#39;博罗县&#39;,
    &#39;center&#39;: &#39;114.284254,23.167575&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0752&#39;,
    &#39;adcode&#39;: &#39;441323&#39;,
    &#39;name&#39;: &#39;惠东县&#39;,
    &#39;center&#39;: &#39;114.723092,22.983036&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0752&#39;,
    &#39;adcode&#39;: &#39;441303&#39;,
    &#39;name&#39;: &#39;惠阳区&#39;,
    &#39;center&#39;: &#39;114.469444,22.78851&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0752&#39;,
    &#39;adcode&#39;: &#39;441302&#39;,
    &#39;name&#39;: &#39;惠城区&#39;,
    &#39;center&#39;: &#39;114.413978,23.079883&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0755&#39;,
  &#39;adcode&#39;: &#39;440300&#39;,
  &#39;name&#39;: &#39;深圳市&#39;,
  &#39;center&#39;: &#39;114.085947,22.547&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0755&#39;,
    &#39;adcode&#39;: &#39;440306&#39;,
    &#39;name&#39;: &#39;宝安区&#39;,
    &#39;center&#39;: &#39;113.828671,22.754741&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0755&#39;,
    &#39;adcode&#39;: &#39;440305&#39;,
    &#39;name&#39;: &#39;南山区&#39;,
    &#39;center&#39;: &#39;113.92943,22.531221&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0755&#39;,
    &#39;adcode&#39;: &#39;440304&#39;,
    &#39;name&#39;: &#39;福田区&#39;,
    &#39;center&#39;: &#39;114.05096,22.541009&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0755&#39;,
    &#39;adcode&#39;: &#39;440308&#39;,
    &#39;name&#39;: &#39;盐田区&#39;,
    &#39;center&#39;: &#39;114.235366,22.555069&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0755&#39;,
    &#39;adcode&#39;: &#39;440303&#39;,
    &#39;name&#39;: &#39;罗湖区&#39;,
    &#39;center&#39;: &#39;114.123885,22.555341&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0755&#39;,
    &#39;adcode&#39;: &#39;440307&#39;,
    &#39;name&#39;: &#39;龙岗区&#39;,
    &#39;center&#39;: &#39;114.251372,22.721511&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0755&#39;,
    &#39;adcode&#39;: &#39;440309&#39;,
    &#39;name&#39;: &#39;龙华区&#39;,
    &#39;center&#39;: &#39;114.044346,22.691963&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0755&#39;,
    &#39;adcode&#39;: &#39;440310&#39;,
    &#39;name&#39;: &#39;坪山区&#39;,
    &#39;center&#39;: &#39;114.338441,22.69423&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0755&#39;,
    &#39;adcode&#39;: &#39;440311&#39;,
    &#39;name&#39;: &#39;光明区&#39;,
    &#39;center&#39;: &#39;113.935895,22.748816&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0756&#39;,
  &#39;adcode&#39;: &#39;440400&#39;,
  &#39;name&#39;: &#39;珠海市&#39;,
  &#39;center&#39;: &#39;113.553986,22.224979&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0756&#39;,
    &#39;adcode&#39;: &#39;440402&#39;,
    &#39;name&#39;: &#39;香洲区&#39;,
    &#39;center&#39;: &#39;113.55027,22.271249&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0756&#39;,
    &#39;adcode&#39;: &#39;440403&#39;,
    &#39;name&#39;: &#39;斗门区&#39;,
    &#39;center&#39;: &#39;113.297739,22.209117&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0756&#39;,
    &#39;adcode&#39;: &#39;440404&#39;,
    &#39;name&#39;: &#39;金湾区&#39;,
    &#39;center&#39;: &#39;113.345071,22.139122&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0759&#39;,
  &#39;adcode&#39;: &#39;440800&#39;,
  &#39;name&#39;: &#39;湛江市&#39;,
  &#39;center&#39;: &#39;110.364977,21.274898&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0759&#39;,
    &#39;adcode&#39;: &#39;440883&#39;,
    &#39;name&#39;: &#39;吴川市&#39;,
    &#39;center&#39;: &#39;110.780508,21.428453&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0759&#39;,
    &#39;adcode&#39;: &#39;440881&#39;,
    &#39;name&#39;: &#39;廉江市&#39;,
    &#39;center&#39;: &#39;110.284961,21.611281&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0759&#39;,
    &#39;adcode&#39;: &#39;440882&#39;,
    &#39;name&#39;: &#39;雷州市&#39;,
    &#39;center&#39;: &#39;110.088275,20.908523&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0759&#39;,
    &#39;adcode&#39;: &#39;440825&#39;,
    &#39;name&#39;: &#39;徐闻县&#39;,
    &#39;center&#39;: &#39;110.175718,20.326083&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0759&#39;,
    &#39;adcode&#39;: &#39;440811&#39;,
    &#39;name&#39;: &#39;麻章区&#39;,
    &#39;center&#39;: &#39;110.329167,21.265997&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0759&#39;,
    &#39;adcode&#39;: &#39;440804&#39;,
    &#39;name&#39;: &#39;坡头区&#39;,
    &#39;center&#39;: &#39;110.455632,21.24441&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0759&#39;,
    &#39;adcode&#39;: &#39;440803&#39;,
    &#39;name&#39;: &#39;霞山区&#39;,
    &#39;center&#39;: &#39;110.406382,21.194229&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0759&#39;,
    &#39;adcode&#39;: &#39;440823&#39;,
    &#39;name&#39;: &#39;遂溪县&#39;,
    &#39;center&#39;: &#39;110.255321,21.376915&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0759&#39;,
    &#39;adcode&#39;: &#39;440802&#39;,
    &#39;name&#39;: &#39;赤坎区&#39;,
    &#39;center&#39;: &#39;110.361634,21.273365&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0662&#39;,
  &#39;adcode&#39;: &#39;441700&#39;,
  &#39;name&#39;: &#39;阳江市&#39;,
  &#39;center&#39;: &#39;111.975107,21.859222&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0662&#39;,
    &#39;adcode&#39;: &#39;441781&#39;,
    &#39;name&#39;: &#39;阳春市&#39;,
    &#39;center&#39;: &#39;111.7905,22.169598&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0662&#39;,
    &#39;adcode&#39;: &#39;441702&#39;,
    &#39;name&#39;: &#39;江城区&#39;,
    &#39;center&#39;: &#39;111.968909,21.859182&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0662&#39;,
    &#39;adcode&#39;: &#39;441721&#39;,
    &#39;name&#39;: &#39;阳西县&#39;,
    &#39;center&#39;: &#39;111.617556,21.75367&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0662&#39;,
    &#39;adcode&#39;: &#39;441704&#39;,
    &#39;name&#39;: &#39;阳东区&#39;,
    &#39;center&#39;: &#39;112.011267,21.864728&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0660&#39;,
  &#39;adcode&#39;: &#39;441500&#39;,
  &#39;name&#39;: &#39;汕尾市&#39;,
  &#39;center&#39;: &#39;115.364238,22.774485&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0660&#39;,
    &#39;adcode&#39;: &#39;441523&#39;,
    &#39;name&#39;: &#39;陆河县&#39;,
    &#39;center&#39;: &#39;115.657565,23.302682&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0660&#39;,
    &#39;adcode&#39;: &#39;441502&#39;,
    &#39;name&#39;: &#39;城区&#39;,
    &#39;center&#39;: &#39;115.363667,22.776227&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0660&#39;,
    &#39;adcode&#39;: &#39;441521&#39;,
    &#39;name&#39;: &#39;海丰县&#39;,
    &#39;center&#39;: &#39;115.337324,22.971042&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0660&#39;,
    &#39;adcode&#39;: &#39;441581&#39;,
    &#39;name&#39;: &#39;陆丰市&#39;,
    &#39;center&#39;: &#39;115.644203,22.946104&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0768&#39;,
  &#39;adcode&#39;: &#39;445100&#39;,
  &#39;name&#39;: &#39;潮州市&#39;,
  &#39;center&#39;: &#39;116.632301,23.661701&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0768&#39;,
    &#39;adcode&#39;: &#39;445122&#39;,
    &#39;name&#39;: &#39;饶平县&#39;,
    &#39;center&#39;: &#39;117.00205,23.668171&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0768&#39;,
    &#39;adcode&#39;: &#39;445102&#39;,
    &#39;name&#39;: &#39;湘桥区&#39;,
    &#39;center&#39;: &#39;116.63365,23.664675&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0768&#39;,
    &#39;adcode&#39;: &#39;445103&#39;,
    &#39;name&#39;: &#39;潮安区&#39;,
    &#39;center&#39;: &#39;116.67931,23.461012&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0750&#39;,
  &#39;adcode&#39;: &#39;440700&#39;,
  &#39;name&#39;: &#39;江门市&#39;,
  &#39;center&#39;: &#39;113.094942,22.590431&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0750&#39;,
    &#39;adcode&#39;: &#39;440784&#39;,
    &#39;name&#39;: &#39;鹤山市&#39;,
    &#39;center&#39;: &#39;112.961795,22.768104&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0750&#39;,
    &#39;adcode&#39;: &#39;440783&#39;,
    &#39;name&#39;: &#39;开平市&#39;,
    &#39;center&#39;: &#39;112.692262,22.366286&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0750&#39;,
    &#39;adcode&#39;: &#39;440704&#39;,
    &#39;name&#39;: &#39;江海区&#39;,
    &#39;center&#39;: &#39;113.120601,22.572211&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0750&#39;,
    &#39;adcode&#39;: &#39;440781&#39;,
    &#39;name&#39;: &#39;台山市&#39;,
    &#39;center&#39;: &#39;112.793414,22.250713&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0750&#39;,
    &#39;adcode&#39;: &#39;440785&#39;,
    &#39;name&#39;: &#39;恩平市&#39;,
    &#39;center&#39;: &#39;112.314051,22.182956&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0750&#39;,
    &#39;adcode&#39;: &#39;440705&#39;,
    &#39;name&#39;: &#39;新会区&#39;,
    &#39;center&#39;: &#39;113.038584,22.520247&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0750&#39;,
    &#39;adcode&#39;: &#39;440703&#39;,
    &#39;name&#39;: &#39;蓬江区&#39;,
    &#39;center&#39;: &#39;113.07859,22.59677&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0766&#39;,
  &#39;adcode&#39;: &#39;445300&#39;,
  &#39;name&#39;: &#39;云浮市&#39;,
  &#39;center&#39;: &#39;112.044439,22.929801&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0766&#39;,
    &#39;adcode&#39;: &#39;445322&#39;,
    &#39;name&#39;: &#39;郁南县&#39;,
    &#39;center&#39;: &#39;111.535921,23.237709&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0766&#39;,
    &#39;adcode&#39;: &#39;445381&#39;,
    &#39;name&#39;: &#39;罗定市&#39;,
    &#39;center&#39;: &#39;111.578201,22.765415&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0766&#39;,
    &#39;adcode&#39;: &#39;445321&#39;,
    &#39;name&#39;: &#39;新兴县&#39;,
    &#39;center&#39;: &#39;112.23083,22.703204&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0766&#39;,
    &#39;adcode&#39;: &#39;445302&#39;,
    &#39;name&#39;: &#39;云城区&#39;,
    &#39;center&#39;: &#39;112.04471,22.930827&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0766&#39;,
    &#39;adcode&#39;: &#39;445303&#39;,
    &#39;name&#39;: &#39;云安区&#39;,
    &#39;center&#39;: &#39;112.005609,23.073152&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0767&#39;,
  &#39;adcode&#39;: &#39;442100&#39;,
  &#39;name&#39;: &#39;东沙群岛&#39;,
  &#39;center&#39;: &#39;116.887312,20.617512&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: []},
 {&#39;citycode&#39;: &#39;0668&#39;,
  &#39;adcode&#39;: &#39;440900&#39;,
  &#39;name&#39;: &#39;茂名市&#39;,
  &#39;center&#39;: &#39;110.919229,21.659751&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0668&#39;,
    &#39;adcode&#39;: &#39;440983&#39;,
    &#39;name&#39;: &#39;信宜市&#39;,
    &#39;center&#39;: &#39;110.941656,22.352681&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0668&#39;,
    &#39;adcode&#39;: &#39;440981&#39;,
    &#39;name&#39;: &#39;高州市&#39;,
    &#39;center&#39;: &#39;110.853251,21.915153&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0668&#39;,
    &#39;adcode&#39;: &#39;440982&#39;,
    &#39;name&#39;: &#39;化州市&#39;,
    &#39;center&#39;: &#39;110.63839,21.654953&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0668&#39;,
    &#39;adcode&#39;: &#39;440904&#39;,
    &#39;name&#39;: &#39;电白区&#39;,
    &#39;center&#39;: &#39;111.007264,21.507219&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0668&#39;,
    &#39;adcode&#39;: &#39;440902&#39;,
    &#39;name&#39;: &#39;茂南区&#39;,
    &#39;center&#39;: &#39;110.920542,21.660425&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0762&#39;,
  &#39;adcode&#39;: &#39;441600&#39;,
  &#39;name&#39;: &#39;河源市&#39;,
  &#39;center&#39;: &#39;114.697802,23.746266&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0762&#39;,
    &#39;adcode&#39;: &#39;441622&#39;,
    &#39;name&#39;: &#39;龙川县&#39;,
    &#39;center&#39;: &#39;115.256415,24.101174&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0762&#39;,
    &#39;adcode&#39;: &#39;441624&#39;,
    &#39;name&#39;: &#39;和平县&#39;,
    &#39;center&#39;: &#39;114.941473,24.44318&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0762&#39;,
    &#39;adcode&#39;: &#39;441625&#39;,
    &#39;name&#39;: &#39;东源县&#39;,
    &#39;center&#39;: &#39;114.742711,23.789093&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0762&#39;,
    &#39;adcode&#39;: &#39;441623&#39;,
    &#39;name&#39;: &#39;连平县&#39;,
    &#39;center&#39;: &#39;114.495952,24.364227&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0762&#39;,
    &#39;adcode&#39;: &#39;441602&#39;,
    &#39;name&#39;: &#39;源城区&#39;,
    &#39;center&#39;: &#39;114.696828,23.746255&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0762&#39;,
    &#39;adcode&#39;: &#39;441621&#39;,
    &#39;name&#39;: &#39;紫金县&#39;,
    &#39;center&#39;: &#39;115.184383,23.633744&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0753&#39;,
  &#39;adcode&#39;: &#39;441400&#39;,
  &#39;name&#39;: &#39;梅州市&#39;,
  &#39;center&#39;: &#39;116.117582,24.299112&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0753&#39;,
    &#39;adcode&#39;: &#39;441427&#39;,
    &#39;name&#39;: &#39;蕉岭县&#39;,
    &#39;center&#39;: &#39;116.170531,24.653313&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0753&#39;,
    &#39;adcode&#39;: &#39;441426&#39;,
    &#39;name&#39;: &#39;平远县&#39;,
    &#39;center&#39;: &#39;115.891729,24.569651&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0753&#39;,
    &#39;adcode&#39;: &#39;441481&#39;,
    &#39;name&#39;: &#39;兴宁市&#39;,
    &#39;center&#39;: &#39;115.731648,24.138077&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0753&#39;,
    &#39;adcode&#39;: &#39;441424&#39;,
    &#39;name&#39;: &#39;五华县&#39;,
    &#39;center&#39;: &#39;115.775004,23.925424&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0753&#39;,
    &#39;adcode&#39;: &#39;441402&#39;,
    &#39;name&#39;: &#39;梅江区&#39;,
    &#39;center&#39;: &#39;116.12116,24.302593&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0753&#39;,
    &#39;adcode&#39;: &#39;441423&#39;,
    &#39;name&#39;: &#39;丰顺县&#39;,
    &#39;center&#39;: &#39;116.184419,23.752771&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0753&#39;,
    &#39;adcode&#39;: &#39;441403&#39;,
    &#39;name&#39;: &#39;梅县区&#39;,
    &#39;center&#39;: &#39;116.083482,24.267825&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0753&#39;,
    &#39;adcode&#39;: &#39;441422&#39;,
    &#39;name&#39;: &#39;大埔县&#39;,
    &#39;center&#39;: &#39;116.69552,24.351587&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0769&#39;,
  &#39;adcode&#39;: &#39;441900&#39;,
  &#39;name&#39;: &#39;东莞市&#39;,
  &#39;center&#39;: &#39;113.746262,23.046237&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;莞城街道&#39;,
    &#39;center&#39;: &#39;113.743,23.0225&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;常平镇&#39;,
    &#39;center&#39;: &#39;114.036,23.0074&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;望牛墩镇&#39;,
    &#39;center&#39;: &#39;113.676,23.0683&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;大朗镇&#39;,
    &#39;center&#39;: &#39;113.939,22.8654&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;麻涌镇&#39;,
    &#39;center&#39;: &#39;113.562,22.9718&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;黄江镇&#39;,
    &#39;center&#39;: &#39;113.973,22.8121&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;凤岗镇&#39;,
    &#39;center&#39;: &#39;114.105,22.7308&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;东莞生态园&#39;,
    &#39;center&#39;: &#39;113.917,23.0806&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;桥头镇&#39;,
    &#39;center&#39;: &#39;114.065,23.0315&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;樟木头镇&#39;,
    &#39;center&#39;: &#39;114.018,22.8704&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;松山湖管委会&#39;,
    &#39;center&#39;: &#39;113.875,22.869&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;石龙镇&#39;,
    &#39;center&#39;: &#39;113.833,23.1123&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;塘厦镇&#39;,
    &#39;center&#39;: &#39;114.05,22.7713&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;寮步镇&#39;,
    &#39;center&#39;: &#39;113.888,22.9529&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;高埗镇&#39;,
    &#39;center&#39;: &#39;113.773,23.112&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;谢岗镇&#39;,
    &#39;center&#39;: &#39;114.128,22.9901&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;厚街镇&#39;,
    &#39;center&#39;: &#39;113.776,22.9097&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;虎门镇&#39;,
    &#39;center&#39;: &#39;113.797,22.8587&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;南城街道&#39;,
    &#39;center&#39;: &#39;113.737,23.0249&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;虎门港管委会&#39;,
    &#39;center&#39;: &#39;113.562,22.9718&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;横沥镇&#39;,
    &#39;center&#39;: &#39;114.006,23.0504&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;企石镇&#39;,
    &#39;center&#39;: &#39;113.99,23.0541&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;东坑镇&#39;,
    &#39;center&#39;: &#39;113.918,22.995&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;东城街道&#39;,
    &#39;center&#39;: &#39;113.757,23.0485&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;石排镇&#39;,
    &#39;center&#39;: &#39;113.988,23.068&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;洪梅镇&#39;,
    &#39;center&#39;: &#39;113.607,23.0155&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;长安镇&#39;,
    &#39;center&#39;: &#39;113.77,22.8195&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;沙田镇&#39;,
    &#39;center&#39;: &#39;113.582,22.9426&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;道滘镇&#39;,
    &#39;center&#39;: &#39;113.692,23.004&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;大岭山镇&#39;,
    &#39;center&#39;: &#39;113.843,22.9534&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;清溪镇&#39;,
    &#39;center&#39;: &#39;114.11,22.862&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;茶山镇&#39;,
    &#39;center&#39;: &#39;113.839,23.0813&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;石碣镇&#39;,
    &#39;center&#39;: &#39;113.846,23.1024&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;万江街道&#39;,
    &#39;center&#39;: &#39;113.709,23.0014&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0769&#39;,
    &#39;adcode&#39;: &#39;441900&#39;,
    &#39;name&#39;: &#39;中堂镇&#39;,
    &#39;center&#39;: &#39;113.734,23.1164&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0663&#39;,
  &#39;adcode&#39;: &#39;445200&#39;,
  &#39;name&#39;: &#39;揭阳市&#39;,
  &#39;center&#39;: &#39;116.355733,23.543778&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0663&#39;,
    &#39;adcode&#39;: &#39;445222&#39;,
    &#39;name&#39;: &#39;揭西县&#39;,
    &#39;center&#39;: &#39;115.838708,23.4273&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0663&#39;,
    &#39;adcode&#39;: &#39;445281&#39;,
    &#39;name&#39;: &#39;普宁市&#39;,
    &#39;center&#39;: &#39;116.165082,23.29788&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0663&#39;,
    &#39;adcode&#39;: &#39;445224&#39;,
    &#39;name&#39;: &#39;惠来县&#39;,
    &#39;center&#39;: &#39;116.295832,23.029834&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0663&#39;,
    &#39;adcode&#39;: &#39;445203&#39;,
    &#39;name&#39;: &#39;揭东区&#39;,
    &#39;center&#39;: &#39;116.412947,23.569887&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0663&#39;,
    &#39;adcode&#39;: &#39;445202&#39;,
    &#39;name&#39;: &#39;榕城区&#39;,
    &#39;center&#39;: &#39;116.357045,23.535524&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0763&#39;,
  &#39;adcode&#39;: &#39;441800&#39;,
  &#39;name&#39;: &#39;清远市&#39;,
  &#39;center&#39;: &#39;113.051227,23.685022&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0763&#39;,
    &#39;adcode&#39;: &#39;441882&#39;,
    &#39;name&#39;: &#39;连州市&#39;,
    &#39;center&#39;: &#39;112.379271,24.783966&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0763&#39;,
    &#39;adcode&#39;: &#39;441826&#39;,
    &#39;name&#39;: &#39;连南瑶族自治县&#39;,
    &#39;center&#39;: &#39;112.290808,24.719097&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0763&#39;,
    &#39;adcode&#39;: &#39;441825&#39;,
    &#39;name&#39;: &#39;连山壮族瑶族自治县&#39;,
    &#39;center&#39;: &#39;112.086555,24.567271&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0763&#39;,
    &#39;adcode&#39;: &#39;441881&#39;,
    &#39;name&#39;: &#39;英德市&#39;,
    &#39;center&#39;: &#39;113.405404,24.18612&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0763&#39;,
    &#39;adcode&#39;: &#39;441821&#39;,
    &#39;name&#39;: &#39;佛冈县&#39;,
    &#39;center&#39;: &#39;113.534094,23.866739&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0763&#39;,
    &#39;adcode&#39;: &#39;441823&#39;,
    &#39;name&#39;: &#39;阳山县&#39;,
    &#39;center&#39;: &#39;112.634019,24.470286&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0763&#39;,
    &#39;adcode&#39;: &#39;441803&#39;,
    &#39;name&#39;: &#39;清新区&#39;,
    &#39;center&#39;: &#39;113.015203,23.736949&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0763&#39;,
    &#39;adcode&#39;: &#39;441802&#39;,
    &#39;name&#39;: &#39;清城区&#39;,
    &#39;center&#39;: &#39;113.048698,23.688976&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0751&#39;,
  &#39;adcode&#39;: &#39;440200&#39;,
  &#39;name&#39;: &#39;韶关市&#39;,
  &#39;center&#39;: &#39;113.591544,24.801322&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0751&#39;,
    &#39;adcode&#39;: &#39;440282&#39;,
    &#39;name&#39;: &#39;南雄市&#39;,
    &#39;center&#39;: &#39;114.311231,25.115328&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0751&#39;,
    &#39;adcode&#39;: &#39;440224&#39;,
    &#39;name&#39;: &#39;仁化县&#39;,
    &#39;center&#39;: &#39;113.748627,25.088226&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0751&#39;,
    &#39;adcode&#39;: &#39;440232&#39;,
    &#39;name&#39;: &#39;乳源瑶族自治县&#39;,
    &#39;center&#39;: &#39;113.278417,24.776109&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0751&#39;,
    &#39;adcode&#39;: &#39;440204&#39;,
    &#39;name&#39;: &#39;浈江区&#39;,
    &#39;center&#39;: &#39;113.599224,24.803977&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0751&#39;,
    &#39;adcode&#39;: &#39;440203&#39;,
    &#39;name&#39;: &#39;武江区&#39;,
    &#39;center&#39;: &#39;113.588289,24.80016&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0751&#39;,
    &#39;adcode&#39;: &#39;440222&#39;,
    &#39;name&#39;: &#39;始兴县&#39;,
    &#39;center&#39;: &#39;114.067205,24.948364&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0751&#39;,
    &#39;adcode&#39;: &#39;440205&#39;,
    &#39;name&#39;: &#39;曲江区&#39;,
    &#39;center&#39;: &#39;113.605582,24.680195&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0751&#39;,
    &#39;adcode&#39;: &#39;440233&#39;,
    &#39;name&#39;: &#39;新丰县&#39;,
    &#39;center&#39;: &#39;114.207034,24.055412&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0751&#39;,
    &#39;adcode&#39;: &#39;440229&#39;,
    &#39;name&#39;: &#39;翁源县&#39;,
    &#39;center&#39;: &#39;114.131289,24.353887&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0751&#39;,
    &#39;adcode&#39;: &#39;440281&#39;,
    &#39;name&#39;: &#39;乐昌市&#39;,
    &#39;center&#39;: &#39;113.352413,25.128445&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;020&#39;,
  &#39;adcode&#39;: &#39;440100&#39;,
  &#39;name&#39;: &#39;广州市&#39;,
  &#39;center&#39;: &#39;113.280637,23.125178&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;020&#39;,
    &#39;adcode&#39;: &#39;440117&#39;,
    &#39;name&#39;: &#39;从化区&#39;,
    &#39;center&#39;: &#39;113.587386,23.545283&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;020&#39;,
    &#39;adcode&#39;: &#39;440115&#39;,
    &#39;name&#39;: &#39;南沙区&#39;,
    &#39;center&#39;: &#39;113.53738,22.794531&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;020&#39;,
    &#39;adcode&#39;: &#39;440114&#39;,
    &#39;name&#39;: &#39;花都区&#39;,
    &#39;center&#39;: &#39;113.211184,23.39205&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;020&#39;,
    &#39;adcode&#39;: &#39;440113&#39;,
    &#39;name&#39;: &#39;番禺区&#39;,
    &#39;center&#39;: &#39;113.364619,22.938582&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;020&#39;,
    &#39;adcode&#39;: &#39;440103&#39;,
    &#39;name&#39;: &#39;荔湾区&#39;,
    &#39;center&#39;: &#39;113.243038,23.124943&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;020&#39;,
    &#39;adcode&#39;: &#39;440105&#39;,
    &#39;name&#39;: &#39;海珠区&#39;,
    &#39;center&#39;: &#39;113.262008,23.103131&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;020&#39;,
    &#39;adcode&#39;: &#39;440111&#39;,
    &#39;name&#39;: &#39;白云区&#39;,
    &#39;center&#39;: &#39;113.262831,23.162281&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;020&#39;,
    &#39;adcode&#39;: &#39;440118&#39;,
    &#39;name&#39;: &#39;增城区&#39;,
    &#39;center&#39;: &#39;113.829579,23.290497&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;020&#39;,
    &#39;adcode&#39;: &#39;440112&#39;,
    &#39;name&#39;: &#39;黄埔区&#39;,
    &#39;center&#39;: &#39;113.450761,23.103239&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;020&#39;,
    &#39;adcode&#39;: &#39;440106&#39;,
    &#39;name&#39;: &#39;天河区&#39;,
    &#39;center&#39;: &#39;113.335367,23.13559&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;020&#39;,
    &#39;adcode&#39;: &#39;440104&#39;,
    &#39;name&#39;: &#39;越秀区&#39;,
    &#39;center&#39;: &#39;113.280714,23.125624&#39;,
    &#39;level&#39;: &#39;district&#39;,
    &#39;districts&#39;: []}]},
 {&#39;citycode&#39;: &#39;0760&#39;,
  &#39;adcode&#39;: &#39;442000&#39;,
  &#39;name&#39;: &#39;中山市&#39;,
  &#39;center&#39;: &#39;113.382391,22.521113&#39;,
  &#39;level&#39;: &#39;city&#39;,
  &#39;districts&#39;: [{&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;三角镇&#39;,
    &#39;center&#39;: &#39;113.416,22.7079&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;横栏镇&#39;,
    &#39;center&#39;: &#39;113.224,22.6048&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;五桂山街道&#39;,
    &#39;center&#39;: &#39;113.399,22.4847&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;东升镇&#39;,
    &#39;center&#39;: &#39;113.321,22.5607&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;神湾镇&#39;,
    &#39;center&#39;: &#39;113.376,22.2768&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;火炬开发区街道&#39;,
    &#39;center&#39;: &#39;113.42,22.5577&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;小榄镇&#39;,
    &#39;center&#39;: &#39;113.23,22.7026&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;南朗镇&#39;,
    &#39;center&#39;: &#39;113.482,22.519&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;古镇镇&#39;,
    &#39;center&#39;: &#39;113.167,22.6751&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;民众镇&#39;,
    &#39;center&#39;: &#39;113.499,22.6855&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;港口镇&#39;,
    &#39;center&#39;: &#39;113.354,22.6027&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;三乡镇&#39;,
    &#39;center&#39;: &#39;113.432,22.3879&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;石岐区街道&#39;,
    &#39;center&#39;: &#39;113.405,22.5247&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;大涌镇&#39;,
    &#39;center&#39;: &#39;113.297,22.4834&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;南头镇&#39;,
    &#39;center&#39;: &#39;113.328,22.6882&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;黄圃镇&#39;,
    &#39;center&#39;: &#39;113.329,22.7457&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;东区街道&#39;,
    &#39;center&#39;: &#39;113.4,22.5274&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;阜沙镇&#39;,
    &#39;center&#39;: &#39;113.34,22.6406&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;坦洲镇&#39;,
    &#39;center&#39;: &#39;113.38,22.2868&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;西区街道&#39;,
    &#39;center&#39;: &#39;113.314,22.5649&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;板芙镇&#39;,
    &#39;center&#39;: &#39;113.358,22.4068&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;沙溪镇&#39;,
    &#39;center&#39;: &#39;113.344,22.5248&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;南区街道&#39;,
    &#39;center&#39;: &#39;113.367,22.4892&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []},
   {&#39;citycode&#39;: &#39;0760&#39;,
    &#39;adcode&#39;: &#39;442000&#39;,
    &#39;name&#39;: &#39;东凤镇&#39;,
    &#39;center&#39;: &#39;113.308,22.6803&#39;,
    &#39;level&#39;: &#39;street&#39;,
    &#39;districts&#39;: []}]}]</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[142]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">行政区域_2级_广州市</span> <span class="o">=</span> <span class="n">行政区域</span><span class="p">[</span><span class="s2">&quot;districts&quot;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;districts&#39;</span><span class="p">][</span><span class="mi">20</span><span class="p">][</span><span class="s1">&#39;districts&#39;</span><span class="p">]</span>
</pre></div>

    </div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[143]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">行政区域_2级_广州市</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt output_prompt">Out[143]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>[{&#39;citycode&#39;: &#39;020&#39;,
  &#39;adcode&#39;: &#39;440117&#39;,
  &#39;name&#39;: &#39;从化区&#39;,
  &#39;center&#39;: &#39;113.587386,23.545283&#39;,
  &#39;level&#39;: &#39;district&#39;,
  &#39;districts&#39;: []},
 {&#39;citycode&#39;: &#39;020&#39;,
  &#39;adcode&#39;: &#39;440115&#39;,
  &#39;name&#39;: &#39;南沙区&#39;,
  &#39;center&#39;: &#39;113.53738,22.794531&#39;,
  &#39;level&#39;: &#39;district&#39;,
  &#39;districts&#39;: []},
 {&#39;citycode&#39;: &#39;020&#39;,
  &#39;adcode&#39;: &#39;440114&#39;,
  &#39;name&#39;: &#39;花都区&#39;,
  &#39;center&#39;: &#39;113.211184,23.39205&#39;,
  &#39;level&#39;: &#39;district&#39;,
  &#39;districts&#39;: []},
 {&#39;citycode&#39;: &#39;020&#39;,
  &#39;adcode&#39;: &#39;440113&#39;,
  &#39;name&#39;: &#39;番禺区&#39;,
  &#39;center&#39;: &#39;113.364619,22.938582&#39;,
  &#39;level&#39;: &#39;district&#39;,
  &#39;districts&#39;: []},
 {&#39;citycode&#39;: &#39;020&#39;,
  &#39;adcode&#39;: &#39;440103&#39;,
  &#39;name&#39;: &#39;荔湾区&#39;,
  &#39;center&#39;: &#39;113.243038,23.124943&#39;,
  &#39;level&#39;: &#39;district&#39;,
  &#39;districts&#39;: []},
 {&#39;citycode&#39;: &#39;020&#39;,
  &#39;adcode&#39;: &#39;440105&#39;,
  &#39;name&#39;: &#39;海珠区&#39;,
  &#39;center&#39;: &#39;113.262008,23.103131&#39;,
  &#39;level&#39;: &#39;district&#39;,
  &#39;districts&#39;: []},
 {&#39;citycode&#39;: &#39;020&#39;,
  &#39;adcode&#39;: &#39;440111&#39;,
  &#39;name&#39;: &#39;白云区&#39;,
  &#39;center&#39;: &#39;113.262831,23.162281&#39;,
  &#39;level&#39;: &#39;district&#39;,
  &#39;districts&#39;: []},
 {&#39;citycode&#39;: &#39;020&#39;,
  &#39;adcode&#39;: &#39;440118&#39;,
  &#39;name&#39;: &#39;增城区&#39;,
  &#39;center&#39;: &#39;113.829579,23.290497&#39;,
  &#39;level&#39;: &#39;district&#39;,
  &#39;districts&#39;: []},
 {&#39;citycode&#39;: &#39;020&#39;,
  &#39;adcode&#39;: &#39;440112&#39;,
  &#39;name&#39;: &#39;黄埔区&#39;,
  &#39;center&#39;: &#39;113.450761,23.103239&#39;,
  &#39;level&#39;: &#39;district&#39;,
  &#39;districts&#39;: []},
 {&#39;citycode&#39;: &#39;020&#39;,
  &#39;adcode&#39;: &#39;440106&#39;,
  &#39;name&#39;: &#39;天河区&#39;,
  &#39;center&#39;: &#39;113.335367,23.13559&#39;,
  &#39;level&#39;: &#39;district&#39;,
  &#39;districts&#39;: []},
 {&#39;citycode&#39;: &#39;020&#39;,
  &#39;adcode&#39;: &#39;440104&#39;,
  &#39;name&#39;: &#39;越秀区&#39;,
  &#39;center&#39;: &#39;113.280714,23.125624&#39;,
  &#39;level&#39;: &#39;district&#39;,
  &#39;districts&#39;: []}]</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="4.&#25628;&#32034;POI">4.&#25628;&#32034;POI<a class="anchor-link" href="#4.&#25628;&#32034;POI">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4 id="1.0-&#20851;&#38190;&#23383;&#25628;&#32034;">1.0 &#20851;&#38190;&#23383;&#25628;&#32034;<a class="anchor-link" href="#1.0-&#20851;&#38190;&#23383;&#25628;&#32034;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>思考：便于用户直接定位，快速找到自己想要的内容</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[267]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">place_text</span><span class="p">(</span><span class="n">keywords</span><span class="p">,</span><span class="n">types</span><span class="p">,</span><span class="n">city</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">citylimit</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">children</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">page</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">extensions</span><span class="o">=</span><span class="s1">&#39;base&#39;</span><span class="p">,</span><span class="n">sig</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span><span class="o">-&gt;</span><span class="nb">dict</span><span class="p">:</span>
    <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;https://restapi.amap.com/v3/place/text?parameters&#39;</span>
    <span class="n">params</span><span class="o">=</span><span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span><span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;keywords&#39;</span><span class="p">:</span><span class="n">keywords</span><span class="p">,</span>
        <span class="s1">&#39;types&#39;</span><span class="p">:</span><span class="n">types</span><span class="p">,</span>
        <span class="s1">&#39;city&#39;</span><span class="p">:</span><span class="n">city</span><span class="p">,</span>
        <span class="s1">&#39;citylimit&#39;</span><span class="p">:</span><span class="n">citylimit</span><span class="p">,</span>
        <span class="s1">&#39;children&#39;</span><span class="p">:</span><span class="n">children</span><span class="p">,</span>
        <span class="s1">&#39;page&#39;</span><span class="p">:</span><span class="n">page</span><span class="p">,</span>
        <span class="s1">&#39;extensions&#39;</span><span class="p">:</span><span class="n">extensions</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
    <span class="k">return</span> <span class="n">data</span>

<span class="n">广州_大学</span> <span class="o">=</span> <span class="n">place_text</span><span class="p">(</span><span class="s1">&#39;大学&#39;</span><span class="p">,</span><span class="s1">&#39;高等院校&#39;</span><span class="p">,</span><span class="n">city</span><span class="o">=</span><span class="s2">&quot;广州市&quot;</span><span class="p">,</span><span class="n">children</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">extensions</span><span class="o">=</span><span class="s1">&#39;all&#39;</span><span class="p">)</span>
<span class="n">广州_大学</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt output_prompt">Out[267]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>{&#39;status&#39;: &#39;1&#39;,
 &#39;count&#39;: &#39;302&#39;,
 &#39;info&#39;: &#39;OK&#39;,
 &#39;infocode&#39;: &#39;10000&#39;,
 &#39;suggestion&#39;: {&#39;keywords&#39;: [], &#39;cities&#39;: []},
 &#39;pois&#39;: [{&#39;id&#39;: &#39;B00140458B&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;广东工业大学(龙洞校区)&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;迎龙路161号&#39;,
   &#39;location&#39;: &#39;113.359713,23.19677&#39;,
   &#39;tel&#39;: &#39;020-87082921&#39;,
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440106&#39;,
   &#39;adname&#39;: &#39;天河区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413623812&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F010043_72087&#39;,
   &#39;entr_location&#39;: &#39;113.364790,23.195436&#39;,
   &#39;business_area&#39;: &#39;龙洞&#39;,
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-03-15 20:21:25&#39;,
   &#39;alias&#39;: [],
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [{&#39;id&#39;: &#39; B00141HYUW &#39;,
     &#39;name&#39;: &#39; 广东工业大学龙洞校区(东南门) &#39;,
     &#39;sname&#39;: &#39; 东南门 &#39;,
     &#39;location&#39;: &#39;113.364707,23.195460&#39;,
     &#39;address&#39;: &#39; 龙洞街迎龙路161号 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;门&#39;,
     &#39;typecode&#39;: &#39; 991400 &#39;}],
   &#39;photos&#39;: [{&#39;title&#39;: &#39;内景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/141b7659bc7aeb993100980808f322a9&#39;},
    {&#39;title&#39;: &#39;内景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/92efcbabaf296256cf568049791cbf8c&#39;},
    {&#39;title&#39;: &#39;外景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/0279761ff16fc3dcd10e5912a51c026b&#39;}]},
  {&#39;id&#39;: &#39;B0FFFFQZDE&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;广州医科大学越秀校区&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;东风西路195号&#39;,
   &#39;location&#39;: &#39;113.256131,23.134038&#39;,
   &#39;tel&#39;: &#39;020-81340278;020-81340448&#39;,
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440104&#39;,
   &#39;adname&#39;: &#39;越秀区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413525021&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F011043_603745&#39;,
   &#39;entr_location&#39;: &#39;113.255942,23.135396&#39;,
   &#39;business_area&#39;: &#39;东风&#39;,
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-03-25 11:57:58&#39;,
   &#39;alias&#39;: [],
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [],
   &#39;photos&#39;: [{&#39;title&#39;: &#39;内景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/bd42c117adc1b03b2dc77821754276ed&#39;},
    {&#39;title&#39;: &#39;内景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/87d1ed25ddca859aa8886312aa8d5837&#39;},
    {&#39;title&#39;: &#39;外景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/d0b8c1500ff522ab27d0f92cfa022ef4&#39;}]},
  {&#39;id&#39;: &#39;B00141IHRZ&#39;,
   &#39;parent&#39;: &#39;B0FFIGLX5N&#39;,
   &#39;childtype&#39;: &#39;309&#39;,
   &#39;name&#39;: &#39;中山大学广州校区南校园&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;新港西路135号&#39;,
   &#39;location&#39;: &#39;113.298415,23.096714&#39;,
   &#39;tel&#39;: &#39;020-84112828;020-84036491&#39;,
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440105&#39;,
   &#39;adname&#39;: &#39;海珠区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413521312&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F011043_948758;71653&#39;,
   &#39;entr_location&#39;: &#39;113.297039,23.091104&#39;,
   &#39;business_area&#39;: &#39;新港&#39;,
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-04-22 11:33:30&#39;,
   &#39;alias&#39;: &#39;中山大学南校区|广州中大&#39;,
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: &#39;4.5&#39;, &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [{&#39;id&#39;: &#39; B00140TAV2 &#39;,
     &#39;name&#39;: &#39; 中山大学南校区(北门) &#39;,
     &#39;sname&#39;: &#39; 北门 &#39;,
     &#39;location&#39;: &#39;113.300039,23.102687&#39;,
     &#39;address&#39;: &#39; 新港西路135号中山大学南校区东北区398号 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;门&#39;,
     &#39;typecode&#39;: &#39; 990000 &#39;},
    {&#39;id&#39;: &#39; B00140TVAB &#39;,
     &#39;name&#39;: &#39; 中山大学广州校区南校园(南门) &#39;,
     &#39;sname&#39;: &#39; 南门 &#39;,
     &#39;location&#39;: &#39;113.29705,23.091124&#39;,
     &#39;address&#39;: &#39; 新港西路135号中山大学南校区 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;门&#39;,
     &#39;typecode&#39;: &#39; 991400 &#39;},
    {&#39;id&#39;: &#39; B00140AQP4 &#39;,
     &#39;name&#39;: &#39; 中山大学广州校区南校园(西门) &#39;,
     &#39;sname&#39;: &#39; 西门 &#39;,
     &#39;location&#39;: &#39;113.2914,23.092947&#39;,
     &#39;address&#39;: &#39; 新港西路135号中山大学南校区 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;门&#39;,
     &#39;typecode&#39;: &#39; 991400 &#39;},
    {&#39;id&#39;: &#39; B001402641 &#39;,
     &#39;name&#39;: &#39; 中山大学广州校区南校园(东校门) &#39;,
     &#39;sname&#39;: &#39; 东校门 &#39;,
     &#39;location&#39;: &#39;113.303862,23.094743&#39;,
     &#39;address&#39;: &#39; 新港西路135号 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;门&#39;,
     &#39;typecode&#39;: &#39; 991400 &#39;}],
   &#39;photos&#39;: [{&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/f2ffc7743773caf2aab3929e9e02a997&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/4699806b0fc67194a8c6ee5cf3ed6266&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/a9dd44d4d4e70cf01aaf96da95c4f35b&#39;}]},
  {&#39;id&#39;: &#39;B00140W6FI&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;广东交通职业技术学院花都校区&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;工业大道东11号&#39;,
   &#39;location&#39;: &#39;113.203282,23.366957&#39;,
   &#39;tel&#39;: &#39;020-86863468&#39;,
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440114&#39;,
   &#39;adname&#39;: &#39;花都区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3513014600&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F008042_198173;128817&#39;,
   &#39;entr_location&#39;: &#39;113.202664,23.367478&#39;,
   &#39;business_area&#39;: [],
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-04-15 12:41:37&#39;,
   &#39;alias&#39;: [],
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [{&#39;id&#39;: &#39; B00140UFHS &#39;,
     &#39;name&#39;: &#39; 广东交通职业技术学院花都校区(西北门) &#39;,
     &#39;sname&#39;: &#39; 西北门 &#39;,
     &#39;location&#39;: &#39;113.202680,23.367438&#39;,
     &#39;address&#39;: &#39; 新华镇工业大道11号 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;门&#39;,
     &#39;typecode&#39;: &#39; 991401 &#39;}],
   &#39;photos&#39;: [{&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/844717a66f6f45f3e8781c27fa387180&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/48e6c18adacdbb4f44cb0301fd4ea1b0&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/2c25a049ffb4a676f6bdf6babe9532bc&#39;}]},
  {&#39;id&#39;: &#39;B001409A53&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;广东培正学院&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;培正路53号&#39;,
   &#39;location&#39;: &#39;113.090459,23.410542&#39;,
   &#39;tel&#39;: &#39;020-86710904&#39;,
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440114&#39;,
   &#39;adname&#39;: &#39;花都区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3513009700&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F008041_54&#39;,
   &#39;entr_location&#39;: &#39;113.092929,23.409245&#39;,
   &#39;business_area&#39;: &#39;赤坭村&#39;,
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-03-24 15:52:06&#39;,
   &#39;alias&#39;: [],
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [{&#39;id&#39;: &#39; B0FFIIMMY2 &#39;,
     &#39;name&#39;: &#39; 广东培正学院(北门) &#39;,
     &#39;sname&#39;: &#39; 北门 &#39;,
     &#39;location&#39;: &#39;113.094676,23.414785&#39;,
     &#39;address&#39;: &#39; 培正路53号 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;门&#39;,
     &#39;typecode&#39;: &#39; 991400 &#39;},
    {&#39;id&#39;: &#39; B00141J9HV &#39;,
     &#39;name&#39;: &#39; 广东培正学院(东南门) &#39;,
     &#39;sname&#39;: &#39; 东南门 &#39;,
     &#39;location&#39;: &#39;113.092901,23.409255&#39;,
     &#39;address&#39;: &#39; 培正路53号 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;门&#39;,
     &#39;typecode&#39;: &#39; 991400 &#39;},
    {&#39;id&#39;: &#39; B0FFI5W8P2 &#39;,
     &#39;name&#39;: &#39; 广东培正学院停车场 &#39;,
     &#39;sname&#39;: &#39; 停车场 &#39;,
     &#39;location&#39;: &#39;113.091820,23.409761&#39;,
     &#39;address&#39;: &#39; 赤坭镇培正路53号广东培正学院 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;停车场&#39;,
     &#39;typecode&#39;: &#39; 150904 &#39;}],
   &#39;photos&#39;: [{&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/8d549f92c5aeb4926695f220094b142c&#39;},
    {&#39;title&#39;: &#39;外景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/5576356f53037759b1cddc9dd2fcd60a&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/1fe4dfacc5459332c9878d0acd5cd381&#39;}]},
  {&#39;id&#39;: &#39;B00140BQCP&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;广州美术学院(大学城校区)&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;大学城外环西路168号&#39;,
   &#39;location&#39;: &#39;113.382675,23.038572&#39;,
   &#39;tel&#39;: [],
   &#39;postcode&#39;: [],
   &#39;website&#39;: &#39;www.gzarts.edu.cn&#39;,
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440113&#39;,
   &#39;adname&#39;: &#39;番禺区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413434011&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F012044_85969&#39;,
   &#39;entr_location&#39;: &#39;113.385018,23.037662&#39;,
   &#39;business_area&#39;: [],
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-04-17 15:58:24&#39;,
   &#39;alias&#39;: [],
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: &#39;4.7&#39;, &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [{&#39;id&#39;: &#39; B00141J1UH &#39;,
     &#39;name&#39;: &#39; 广州美术学院大学城校区(南2门) &#39;,
     &#39;sname&#39;: &#39; 南2门 &#39;,
     &#39;location&#39;: &#39;113.382624,23.035882&#39;,
     &#39;address&#39;: &#39; 大学城外环西路168号 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;门&#39;,
     &#39;typecode&#39;: &#39; 991400 &#39;},
    {&#39;id&#39;: &#39; B001423P0V &#39;,
     &#39;name&#39;: &#39; 广州美术学院大学城校区停车场 &#39;,
     &#39;sname&#39;: &#39; 停车场 &#39;,
     &#39;location&#39;: &#39;113.383304,23.036106&#39;,
     &#39;address&#39;: &#39; 大学城外环西路北150米 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;停车场&#39;,
     &#39;typecode&#39;: &#39; 150904 &#39;}],
   &#39;photos&#39;: [{&#39;title&#39;: &#39;内景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/c68c8d3ed1df8f9d7b5d36d80fa9c439&#39;},
    {&#39;title&#39;: &#39;外景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/bfe8557b23557222319299609d428374&#39;},
    {&#39;title&#39;: &#39;内景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/bcb2efea79f4979b4778cd1a0ed60cad&#39;}]},
  {&#39;id&#39;: &#39;B00140WEMJ&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;广东外语外贸大学(北校区)&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;白云大道北2号&#39;,
   &#39;location&#39;: &#39;113.29248,23.200471&#39;,
   &#39;tel&#39;: &#39;020-36204310;020-36209026;020-83308484&#39;,
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440111&#39;,
   &#39;adname&#39;: &#39;白云区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413624301&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F010043_793967;73408&#39;,
   &#39;entr_location&#39;: &#39;113.287576,23.199968&#39;,
   &#39;business_area&#39;: &#39;白云大道&#39;,
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-04-20 17:18:58&#39;,
   &#39;alias&#39;: &#39;外语外贸大学&#39;,
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [{&#39;id&#39;: &#39; B00140B6G3 &#39;,
     &#39;name&#39;: &#39; 广东外语外贸大学北校区(西门) &#39;,
     &#39;sname&#39;: &#39; 西门 &#39;,
     &#39;location&#39;: &#39;113.287583,23.199975&#39;,
     &#39;address&#39;: &#39; 白云大道北2号 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;门&#39;,
     &#39;typecode&#39;: &#39; 991400 &#39;},
    {&#39;id&#39;: &#39; B00141KHZV &#39;,
     &#39;name&#39;: &#39; 广东外语外贸大学北校区停车场 &#39;,
     &#39;sname&#39;: &#39; 停车场 &#39;,
     &#39;location&#39;: &#39;113.289056,23.197722&#39;,
     &#39;address&#39;: &#39; 白云大道北2号广东外语外贸大学北校区内 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;停车场&#39;,
     &#39;typecode&#39;: &#39; 150904 &#39;},
    {&#39;id&#39;: &#39; B00141HX4Z &#39;,
     &#39;name&#39;: &#39; 广东外语外贸大学北校区停车场 &#39;,
     &#39;sname&#39;: &#39; 停车场 &#39;,
     &#39;location&#39;: &#39;113.293020,23.198988&#39;,
     &#39;address&#39;: &#39; 白云大道北2号广东外语外贸大学北校区内 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;停车场&#39;,
     &#39;typecode&#39;: &#39; 150904 &#39;},
    {&#39;id&#39;: &#39; B0FFG67WJR &#39;,
     &#39;name&#39;: &#39; 广东外语外贸大学北校区停车场 &#39;,
     &#39;sname&#39;: &#39; 停车场 &#39;,
     &#39;location&#39;: &#39;113.297436,23.197607&#39;,
     &#39;address&#39;: &#39; 白云大道北2号广东外语外贸大学北校区内 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;停车场&#39;,
     &#39;typecode&#39;: &#39; 150904 &#39;},
    {&#39;id&#39;: &#39; B0FFG69GAZ &#39;,
     &#39;name&#39;: &#39; 广东外语外贸大学北校区停车场 &#39;,
     &#39;sname&#39;: &#39; 停车场 &#39;,
     &#39;location&#39;: &#39;113.291531,23.205214&#39;,
     &#39;address&#39;: &#39; 白云大道北2号广东外语外贸大学北校区内 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;停车场&#39;,
     &#39;typecode&#39;: &#39; 150904 &#39;},
    {&#39;id&#39;: &#39; B0FFG68MX2 &#39;,
     &#39;name&#39;: &#39; 广东外语外贸大学北校区停车场 &#39;,
     &#39;sname&#39;: &#39; 停车场 &#39;,
     &#39;location&#39;: &#39;113.291149,23.200591&#39;,
     &#39;address&#39;: &#39; 白云大道北2号广东外语外贸大学北校区内 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;停车场&#39;,
     &#39;typecode&#39;: &#39; 150904 &#39;}],
   &#39;photos&#39;: [{&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/50be85cf4cd3a3cea167482f336a32a8&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/7db4b9407ff72f88fe36c248618bca8f&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/53dcfc72013d754ba1ef87bc49c8096f&#39;}]},
  {&#39;id&#39;: &#39;B00140UF1D&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;广东技术师范大学&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;中山大道西293号&#39;,
   &#39;location&#39;: &#39;113.371742,23.131147&#39;,
   &#39;tel&#39;: &#39;020-38257322;020-38256659&#39;,
   &#39;postcode&#39;: [],
   &#39;website&#39;: &#39;www.gdin.edu.cn&#39;,
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440106&#39;,
   &#39;adname&#39;: &#39;天河区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413525922&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F011043_699041&#39;,
   &#39;entr_location&#39;: &#39;113.371510,23.129655&#39;,
   &#39;business_area&#39;: &#39;上社村&#39;,
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-04-08 16:27:47&#39;,
   &#39;alias&#39;: &#39;广东师范技术学院|广东技术师范学院&#39;,
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [{&#39;id&#39;: &#39; B00140TVFC &#39;,
     &#39;name&#39;: &#39; 广东技术师范大学(西南门) &#39;,
     &#39;sname&#39;: &#39; 西南门 &#39;,
     &#39;location&#39;: &#39;113.371504,23.129789&#39;,
     &#39;address&#39;: &#39; 中山大道西293号 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;门&#39;,
     &#39;typecode&#39;: &#39; 991401 &#39;}],
   &#39;photos&#39;: [{&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/5840a03dded03463d363d684d1892526&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/7b6d43a8d7706f1ff22812921d64e08f&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/803a8ffcf7f6b1969c5757c8c4b252ef&#39;}]},
  {&#39;id&#39;: &#39;B00141OISJ&#39;,
   &#39;parent&#39;: &#39;B00140385E&#39;,
   &#39;childtype&#39;: &#39;309&#39;,
   &#39;name&#39;: &#39;广州中医药大学三元里校区&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;机场路12号&#39;,
   &#39;location&#39;: &#39;113.26713,23.156024&#39;,
   &#39;tel&#39;: &#39;020-86363563&#39;,
   &#39;postcode&#39;: &#39;510405&#39;,
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440111&#39;,
   &#39;adname&#39;: &#39;白云区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413528121&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F011043_604051&#39;,
   &#39;entr_location&#39;: &#39;113.263788,23.155384&#39;,
   &#39;business_area&#39;: [],
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-04-13 18:40:53&#39;,
   &#39;alias&#39;: [],
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: &#39;4.0&#39;, &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [],
   &#39;photos&#39;: [{&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/94ad9e0cd1db5ab6667f96a579af7d27&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/e5ef18f21bca2a71f0cf64c850418a6a&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/1662a71826f8fc86d4e630f85e25113c&#39;}]},
  {&#39;id&#39;: &#39;B0FFGH24MR&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;暨南大学&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: [],
   &#39;location&#39;: &#39;113.349402,23.133382&#39;,
   &#39;tel&#39;: [],
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440106&#39;,
   &#39;adname&#39;: &#39;天河区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413526702&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: [],
   &#39;entr_location&#39;: &#39;113.349745,23.135584&#39;,
   &#39;business_area&#39;: [],
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-04-17 15:07:11&#39;,
   &#39;alias&#39;: [],
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: &#39;4.4&#39;, &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [],
   &#39;photos&#39;: [{&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/60316bdae9210287f633765a48dc9f64&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/cc78db94234f74db4d2cea123e67c356&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/8d1f76d52a69f6a9e54a92c30cea9d5e&#39;}]},
  {&#39;id&#39;: &#39;B00140A367&#39;,
   &#39;parent&#39;: &#39;B0FFK7GDEE&#39;,
   &#39;childtype&#39;: &#39;309&#39;,
   &#39;name&#39;: &#39;广州大学桂花岗校区&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;桂花岗东1号&#39;,
   &#39;location&#39;: &#39;113.266066,23.149009&#39;,
   &#39;tel&#39;: &#39;020-36196087&#39;,
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440104&#39;,
   &#39;adname&#39;: &#39;越秀区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413527120&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F011043_781965;721040;923924;721078;721080&#39;,
   &#39;entr_location&#39;: &#39;113.265865,23.149747&#39;,
   &#39;business_area&#39;: &#39;解放北&#39;,
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-04-15 13:55:31&#39;,
   &#39;alias&#39;: &#39;桂花岗广州大学&#39;,
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [{&#39;id&#39;: &#39; B00140UG32 &#39;,
     &#39;name&#39;: &#39; 广州大学桂花岗校区(东北门) &#39;,
     &#39;sname&#39;: &#39; 东北门 &#39;,
     &#39;location&#39;: &#39;113.265856,23.149706&#39;,
     &#39;address&#39;: &#39; 桂花岗东1 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;门&#39;,
     &#39;typecode&#39;: &#39; 991401 &#39;}],
   &#39;photos&#39;: [{&#39;title&#39;: &#39;内景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/4152aa7504576241c2a21d6ed03fc4b7&#39;},
    {&#39;title&#39;: &#39;内景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/682e498d9e5e970e670841bec33e6cd8&#39;},
    {&#39;title&#39;: &#39;内景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/bcd959a58fc339bd10bb3db2fd3ecf12&#39;}]},
  {&#39;id&#39;: &#39;B00140TVAS&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;昆明理工大学(广州校区)&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;中山大道中车陂北街28号&#39;,
   &#39;location&#39;: &#39;113.399378,23.128946&#39;,
   &#39;tel&#39;: &#39;020-82520210&#39;,
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440106&#39;,
   &#39;adname&#39;: &#39;天河区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413535112&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F011044_267218&#39;,
   &#39;entr_location&#39;: &#39;113.397914,23.128374&#39;,
   &#39;business_area&#39;: &#39;车陂&#39;,
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-03-18 18:14:11&#39;,
   &#39;alias&#39;: &#39;广州市广通工程技术职业培训学校&#39;,
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: &#39;3.0&#39;, &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [],
   &#39;photos&#39;: [{&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/c927eb81f1fea92ff5d92012c1038448&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/dc78aba0a1784708b54ebea96d21a806&#39;}]},
  {&#39;id&#39;: &#39;B0FFIPCYV7&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;广州经济技术开发区行政学院&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;开发大道350号&#39;,
   &#39;location&#39;: &#39;113.525724,23.059868&#39;,
   &#39;tel&#39;: [],
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440112&#39;,
   &#39;adname&#39;: &#39;黄埔区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413447200&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F012045_11891&#39;,
   &#39;entr_location&#39;: &#39;113.52556,23.060098&#39;,
   &#39;business_area&#39;: [],
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-03-30 12:03:43&#39;,
   &#39;alias&#39;: [],
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [],
   &#39;photos&#39;: [{&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/775dea571f24dc27c6f5bf64d1bda579&#39;}]},
  {&#39;id&#39;: &#39;B0FFG8723C&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;广州工程技术职业学院(黄埔校区)&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;文冲街石化路石化大院166号&#39;,
   &#39;location&#39;: &#39;113.472697,23.10515&#39;,
   &#39;tel&#39;: [],
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440112&#39;,
   &#39;adname&#39;: &#39;黄埔区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413532712&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: [],
   &#39;entr_location&#39;: &#39;113.47267,23.104944&#39;,
   &#39;business_area&#39;: &#39;红山&#39;,
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-03-26 16:43:13&#39;,
   &#39;alias&#39;: [],
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [],
   &#39;photos&#39;: [{&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/96ce1bc6c800f048eb46dc27f391cd68&#39;}]},
  {&#39;id&#39;: &#39;B0FFG5CSH0&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;湘南学院实习教学基地&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;温泉东路117号附近&#39;,
   &#39;location&#39;: &#39;113.653704,23.653237&#39;,
   &#39;tel&#39;: [],
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440117&#39;,
   &#39;adname&#39;: &#39;从化区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3513358210&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: [],
   &#39;entr_location&#39;: [],
   &#39;business_area&#39;: &#39;温泉&#39;,
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-03-18 18:26:04&#39;,
   &#39;alias&#39;: [],
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [],
   &#39;photos&#39;: [{&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/82489cd4cc8686615e0c92efb29a54a8&#39;}]},
  {&#39;id&#39;: &#39;B0FFFV9MAC&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;广州民航职业技术学院(花都赤坭校区)&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;赤坭镇&#39;,
   &#39;location&#39;: &#39;113.104034,23.395655&#39;,
   &#39;tel&#39;: [],
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440114&#39;,
   &#39;adname&#39;: &#39;花都区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3513007810&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: [],
   &#39;entr_location&#39;: &#39;113.101521,23.396726&#39;,
   &#39;business_area&#39;: [],
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-03-25 11:31:46&#39;,
   &#39;alias&#39;: [],
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [],
   &#39;photos&#39;: [{&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/5d6d42dae7ef818ddc5fe3bade411789&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/92f466a0528336d95061a1001c6b11dc&#39;}]},
  {&#39;id&#39;: &#39;B0FFFAIKXG&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;广州商学院&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;九龙镇九龙大道&#39;,
   &#39;location&#39;: &#39;113.56882,23.303876&#39;,
   &#39;tel&#39;: &#39;020-82876130;020-82878480&#39;,
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440112&#39;,
   &#39;adname&#39;: &#39;黄埔区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413746511&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F009045_1694&#39;,
   &#39;entr_location&#39;: &#39;113.567234,23.302894&#39;,
   &#39;business_area&#39;: [],
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-04-14 16:01:12&#39;,
   &#39;alias&#39;: &#39;华南师范增城学院&#39;,
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [],
   &#39;photos&#39;: [{&#39;title&#39;: &#39;外景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/7f9aa9a61ce609fb64c5268dbeaecb2d&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/cc3c2c5e4bd30f7502fad8fa44a813d6&#39;},
    {&#39;title&#39;: &#39;外景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/14769691648dfb561feb31d28266f3da&#39;}]},
  {&#39;id&#39;: &#39;B00141KFHP&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;南方医科大学&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;沙太南路1023-1063号&#39;,
   &#39;location&#39;: &#39;113.333184,23.187549&#39;,
   &#39;tel&#39;: &#39;020-61648502;020-61640114;020-61648504&#39;,
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440111&#39;,
   &#39;adname&#39;: &#39;白云区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413622612&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F010043_795836;698321&#39;,
   &#39;entr_location&#39;: &#39;113.33681,23.18735&#39;,
   &#39;business_area&#39;: [],
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-04-08 18:44:45&#39;,
   &#39;alias&#39;: &#39;中国人民解放军第一军医大学&#39;,
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [],
   &#39;photos&#39;: [{&#39;title&#39;: &#39;外景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/924e4108a6aea4f5888cd51937347202&#39;},
    {&#39;title&#39;: &#39;内景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/dc134e52a67d49a5b879b907aac003d3&#39;},
    {&#39;title&#39;: &#39;内景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/46d6703b7403158af6a9bd2a9029fc84&#39;}]},
  {&#39;id&#39;: &#39;B00141KFAQ&#39;,
   &#39;parent&#39;: &#39;B0FFK4HKF5&#39;,
   &#39;childtype&#39;: &#39;309&#39;,
   &#39;name&#39;: &#39;广州工程技术职业学院龙洞校区&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;龙洞街道天源路1121号&#39;,
   &#39;location&#39;: &#39;113.360274,23.19088&#39;,
   &#39;tel&#39;: &#39;020-87663584&#39;,
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440106&#39;,
   &#39;adname&#39;: &#39;天河区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3413622822&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F010043_86069;796418&#39;,
   &#39;entr_location&#39;: &#39;113.359995,23.192728&#39;,
   &#39;business_area&#39;: &#39;龙洞&#39;,
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-03-26 13:59:22&#39;,
   &#39;alias&#39;: [],
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [{&#39;id&#39;: &#39; B00141PSD3 &#39;,
     &#39;name&#39;: &#39; 广州工程技术职业学院龙洞校区(东南门) &#39;,
     &#39;sname&#39;: &#39; 东南门 &#39;,
     &#39;location&#39;: &#39;113.361026,23.189129&#39;,
     &#39;address&#39;: &#39; 天源路1121号 &#39;,
     &#39;distance&#39;: &#39; 0 &#39;,
     &#39;subtype&#39;: &#39;门&#39;,
     &#39;typecode&#39;: &#39; 991400 &#39;}],
   &#39;photos&#39;: [{&#39;title&#39;: &#39;外景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/de5140322d3877562d3e32bb853f7cba&#39;},
    {&#39;title&#39;: &#39;内景图&#39;,
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/291fbc555ebbefc29b22b159982d3fd0&#39;}]},
  {&#39;id&#39;: &#39;B00141JRFZ&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;广东第二师范学院(花都校区)&#39;,
   &#39;tag&#39;: [],
   &#39;type&#39;: &#39;科教文化服务;学校;高等院校&#39;,
   &#39;typecode&#39;: &#39;141201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;迎宾大道西30号&#39;,
   &#39;location&#39;: &#39;113.185576,23.404948&#39;,
   &#39;tel&#39;: &#39;020-36967708&#39;,
   &#39;postcode&#39;: [],
   &#39;website&#39;: [],
   &#39;email&#39;: [],
   &#39;pcode&#39;: &#39;440000&#39;,
   &#39;pname&#39;: &#39;广东省&#39;,
   &#39;citycode&#39;: &#39;020&#39;,
   &#39;cityname&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440114&#39;,
   &#39;adname&#39;: &#39;花都区&#39;,
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;gridcode&#39;: &#39;3513018412&#39;,
   &#39;distance&#39;: [],
   &#39;navi_poiid&#39;: &#39;F49F008042_144827&#39;,
   &#39;entr_location&#39;: &#39;113.184975,23.398431&#39;,
   &#39;business_area&#39;: [],
   &#39;exit_location&#39;: [],
   &#39;match&#39;: &#39;0&#39;,
   &#39;recommend&#39;: &#39;0&#39;,
   &#39;timestamp&#39;: &#39;2020-04-14 18:36:38&#39;,
   &#39;alias&#39;: [],
   &#39;indoor_map&#39;: &#39;0&#39;,
   &#39;indoor_data&#39;: {&#39;cpid&#39;: [], &#39;floor&#39;: [], &#39;truefloor&#39;: [], &#39;cmsid&#39;: []},
   &#39;groupbuy_num&#39;: &#39;0&#39;,
   &#39;discount_num&#39;: &#39;0&#39;,
   &#39;biz_ext&#39;: {&#39;rating&#39;: [], &#39;cost&#39;: []},
   &#39;event&#39;: [],
   &#39;children&#39;: [],
   &#39;photos&#39;: [{&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/e0ff165cbe5814f3ab16f59f5411e590&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/09e302b3cda26be92ee17794a5363da2&#39;},
    {&#39;title&#39;: [],
     &#39;url&#39;: &#39;http://store.is.autonavi.com/showpic/2b0780d8ac5e1e90f46970e65db5e7bf&#39;}]}]}</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4 id="2.0-&#21608;&#36793;&#25628;&#32034;">2.0 &#21608;&#36793;&#25628;&#32034;<a class="anchor-link" href="#2.0-&#21608;&#36793;&#25628;&#32034;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[149]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">place_around</span><span class="p">(</span><span class="n">location</span><span class="p">,</span><span class="n">keywords</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">types</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">city</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">redius</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">sortrule</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">offset</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">page</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">extensions</span><span class="o">=</span><span class="s1">&#39;base&#39;</span><span class="p">,</span><span class="n">sig</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span><span class="o">-&gt;</span><span class="nb">dict</span><span class="p">:</span>
    <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;https://restapi.amap.com/v3/place/around?parameters&#39;</span>
    <span class="n">params</span><span class="o">=</span><span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span><span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;keywords&#39;</span><span class="p">:</span><span class="n">keywords</span><span class="p">,</span>
        <span class="s1">&#39;location&#39;</span><span class="p">:</span><span class="n">location</span><span class="p">,</span>
        <span class="s1">&#39;types&#39;</span><span class="p">:</span><span class="n">types</span><span class="p">,</span>
        <span class="s1">&#39;city&#39;</span><span class="p">:</span><span class="n">city</span><span class="p">,</span>
        <span class="s1">&#39;redius&#39;</span><span class="p">:</span><span class="n">redius</span><span class="p">,</span>
        <span class="s1">&#39;sortrule&#39;</span><span class="p">:</span><span class="n">sortrule</span><span class="p">,</span>
        <span class="s1">&#39;offset&#39;</span><span class="p">:</span><span class="n">offset</span><span class="p">,</span>
        <span class="s1">&#39;page&#39;</span><span class="p">:</span><span class="n">page</span><span class="p">,</span>
        <span class="s1">&#39;extensions&#39;</span><span class="p">:</span><span class="n">extensions</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
    <span class="k">return</span> <span class="n">data</span>
</pre></div>

    </div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[150]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">中山大学_周边POI</span> <span class="o">=</span> <span class="n">place_around</span><span class="p">(</span><span class="n">中山大学_location</span><span class="p">)</span>
<span class="n">中山大学_周边POI</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt output_prompt">Out[150]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>{&#39;status&#39;: &#39;1&#39;,
 &#39;count&#39;: &#39;878&#39;,
 &#39;info&#39;: &#39;OK&#39;,
 &#39;infocode&#39;: &#39;10000&#39;,
 &#39;suggestion&#39;: {&#39;keywords&#39;: [], &#39;cities&#39;: []},
 &#39;pois&#39;: [{&#39;id&#39;: &#39;B0FFFDCIT4&#39;,
   &#39;parent&#39;: &#39;B001403454&#39;,
   &#39;childtype&#39;: &#39;309&#39;,
   &#39;name&#39;: &#39;中山大学外宾接待室&#39;,
   &#39;type&#39;: &#39;生活服务;生活服务场所;生活服务场所&#39;,
   &#39;typecode&#39;: &#39;070000&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;中山二路74号中山大学北校区&#39;,
   &#39;location&#39;: &#39;113.290083,23.127843&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;84&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFFDASJY&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;北学1食堂&#39;,
   &#39;type&#39;: &#39;餐饮服务;中餐厅;中餐厅&#39;,
   &#39;typecode&#39;: &#39;050100&#39;,
   &#39;biz_type&#39;: &#39;diner&#39;,
   &#39;address&#39;: &#39;中山二路74号中华人民共和国教育部附近&#39;,
   &#39;location&#39;: &#39;113.289005,23.128614&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;124&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFG1LOD6&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;中山大楼&#39;,
   &#39;type&#39;: &#39;商务住宅;楼宇;商务写字楼&#39;,
   &#39;typecode&#39;: &#39;120201&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;岭南路与杏林路交叉口北100米&#39;,
   &#39;location&#39;: &#39;113.289647,23.127532&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;132&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFG58FR3&#39;,
   &#39;parent&#39;: &#39;B001403454&#39;,
   &#39;childtype&#39;: &#39;309&#39;,
   &#39;name&#39;: &#39;中山大学北校区通讯业务厅&#39;,
   &#39;type&#39;: &#39;生活服务;电讯营业厅;电讯营业厅&#39;,
   &#39;typecode&#39;: &#39;070600&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;中山二路74号中山大学北校区&#39;,
   &#39;location&#39;: &#39;113.290836,23.127284&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;159&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFF5UPFF&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;兰州正宗拉面(执信南路店)&#39;,
   &#39;type&#39;: &#39;餐饮服务;中餐厅;清真菜馆&#39;,
   &#39;typecode&#39;: &#39;050121&#39;,
   &#39;biz_type&#39;: &#39;diner&#39;,
   &#39;address&#39;: &#39;执信南路与竹丝岗北直街交叉口南50米&#39;,
   &#39;location&#39;: &#39;113.291782,23.128743&#39;,
   &#39;tel&#39;: &#39;020-87619736&#39;,
   &#39;distance&#39;: &#39;160&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFH86N4U&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;乾方图文&#39;,
   &#39;type&#39;: &#39;生活服务;摄影冲印店;摄影冲印&#39;,
   &#39;typecode&#39;: &#39;071300&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;执信南路117-119号105室&#39;,
   &#39;location&#39;: &#39;113.291782,23.128761&#39;,
   &#39;tel&#39;: &#39;020-87001312;15920330135&#39;,
   &#39;distance&#39;: &#39;161&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFM3WAZG&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;老上海馄饨铺(执信南路店)&#39;,
   &#39;type&#39;: &#39;餐饮服务;快餐厅;快餐厅&#39;,
   &#39;typecode&#39;: &#39;050300&#39;,
   &#39;biz_type&#39;: &#39;diner&#39;,
   &#39;address&#39;: &#39;执信南路116号之3附近&#39;,
   &#39;location&#39;: &#39;113.292035,23.128971&#39;,
   &#39;tel&#39;: &#39;13666909600&#39;,
   &#39;distance&#39;: &#39;190&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFIBPE86&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;鑫辉饺子王&#39;,
   &#39;type&#39;: &#39;餐饮服务;中餐厅;特色/地方风味餐厅&#39;,
   &#39;typecode&#39;: &#39;050118&#39;,
   &#39;biz_type&#39;: &#39;diner&#39;,
   &#39;address&#39;: &#39;执信南路116号首层自编5号&#39;,
   &#39;location&#39;: &#39;113.292033,23.128995&#39;,
   &#39;tel&#39;: &#39;18218465198&#39;,
   &#39;distance&#39;: &#39;190&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFL9OV5S&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;骨头饭&#39;,
   &#39;type&#39;: &#39;餐饮服务;餐饮相关场所;餐饮相关&#39;,
   &#39;typecode&#39;: &#39;050000&#39;,
   &#39;biz_type&#39;: &#39;diner&#39;,
   &#39;address&#39;: [],
   &#39;location&#39;: &#39;113.292032,23.129018&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;191&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFHGS3P9&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;妯娌老鸭粉丝馆(执信南店)&#39;,
   &#39;type&#39;: &#39;餐饮服务;快餐厅;快餐厅&#39;,
   &#39;typecode&#39;: &#39;050300&#39;,
   &#39;biz_type&#39;: &#39;diner&#39;,
   &#39;address&#39;: &#39;执信南路与竹丝岗北直街交叉口东南50米&#39;,
   &#39;location&#39;: &#39;113.292035,23.129011&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;191&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFI63KCD&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;丰江源客家豆腐坊(执信南路店)&#39;,
   &#39;type&#39;: &#39;餐饮服务;餐饮相关场所;餐饮相关&#39;,
   &#39;typecode&#39;: &#39;050000&#39;,
   &#39;biz_type&#39;: &#39;diner&#39;,
   &#39;address&#39;: &#39;执信南路116号首层自编8号&#39;,
   &#39;location&#39;: &#39;113.292024,23.129084&#39;,
   &#39;tel&#39;: &#39;18666609252;13719253091&#39;,
   &#39;distance&#39;: &#39;192&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFFRHMUH&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;MS发型&#39;,
   &#39;type&#39;: &#39;生活服务;美容美发店;美容美发店&#39;,
   &#39;typecode&#39;: &#39;071100&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;东风东路执信南路128号即中山大学北校区东门对面&#39;,
   &#39;location&#39;: &#39;113.291953,23.129456&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;201&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFHK2KVX&#39;,
   &#39;parent&#39;: &#39;B0FFK8L6A0&#39;,
   &#39;childtype&#39;: &#39;309&#39;,
   &#39;name&#39;: &#39;中山大学北校区林阁杏教工餐厅&#39;,
   &#39;type&#39;: &#39;餐饮服务;中餐厅;中餐厅&#39;,
   &#39;typecode&#39;: &#39;050100&#39;,
   &#39;biz_type&#39;: &#39;diner&#39;,
   &#39;address&#39;: &#39;执信南路135号附近&#39;,
   &#39;location&#39;: &#39;113.291449,23.130021&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;202&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFFW1KCM&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;执信南路小区&#39;,
   &#39;type&#39;: &#39;商务住宅;住宅区;住宅小区&#39;,
   &#39;typecode&#39;: &#39;120302&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;执信南路与竹丝岗北直街交叉口南100米&#39;,
   &#39;location&#39;: &#39;113.292195,23.128297&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;205&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFLPMM86&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;新境数码摄影印部&#39;,
   &#39;type&#39;: &#39;生活服务;摄影冲印店;摄影冲印&#39;,
   &#39;typecode&#39;: &#39;071300&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: [],
   &#39;location&#39;: &#39;113.292259,23.129215&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;219&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFG74EJN&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;中山医宿舍&#39;,
   &#39;type&#39;: &#39;商务住宅;住宅区;宿舍&#39;,
   &#39;typecode&#39;: &#39;120303&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;执信南路118号&#39;,
   &#39;location&#39;: &#39;113.292304,23.129218&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;224&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFGB0NIQ&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;大摩指(摩登店)&#39;,
   &#39;type&#39;: &#39;生活服务;美容美发店;美容美发店&#39;,
   &#39;typecode&#39;: &#39;071100&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;执信南路100号前座101室(执信南路宾馆旁)&#39;,
   &#39;location&#39;: &#39;113.292373,23.127955&#39;,
   &#39;tel&#39;: &#39;18688422868&#39;,
   &#39;distance&#39;: &#39;231&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0014232GI&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;文彩图文&#39;,
   &#39;type&#39;: &#39;生活服务;生活服务场所;生活服务场所&#39;,
   &#39;typecode&#39;: &#39;070000&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;执信南路138号(近东风东路)&#39;,
   &#39;location&#39;: &#39;113.291889,23.130172&#39;,
   &#39;tel&#39;: &#39;020-87697769;13560232355&#39;,
   &#39;distance&#39;: &#39;244&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFGZI7E9&#39;,
   &#39;parent&#39;: &#39;B001403454&#39;,
   &#39;childtype&#39;: &#39;309&#39;,
   &#39;name&#39;: &#39;中山大学附属第一医院职工餐厅(执信南路)&#39;,
   &#39;type&#39;: &#39;餐饮服务;中餐厅;中餐厅&#39;,
   &#39;typecode&#39;: &#39;050100&#39;,
   &#39;biz_type&#39;: &#39;diner&#39;,
   &#39;address&#39;: &#39;中山二路58号&#39;,
   &#39;location&#39;: &#39;113.292167,23.127208&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;252&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFL785ME&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;快乐小厨&#39;,
   &#39;type&#39;: &#39;餐饮服务;中餐厅;中餐厅&#39;,
   &#39;typecode&#39;: &#39;050100&#39;,
   &#39;biz_type&#39;: &#39;diner&#39;,
   &#39;address&#39;: &#39;执信南路77号附近&#39;,
   &#39;location&#39;: &#39;113.292579,23.127570&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;267&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []}]}</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[151]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">西樵山_周边POI</span> <span class="o">=</span> <span class="n">place_around</span><span class="p">(</span><span class="n">西樵山_location</span><span class="p">)</span>
<span class="n">西樵山_周边POI</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt output_prompt">Out[151]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>{&#39;status&#39;: &#39;1&#39;,
 &#39;count&#39;: &#39;863&#39;,
 &#39;info&#39;: &#39;OK&#39;,
 &#39;infocode&#39;: &#39;10000&#39;,
 &#39;suggestion&#39;: {&#39;keywords&#39;: [], &#39;cities&#39;: []},
 &#39;pois&#39;: [{&#39;id&#39;: &#39;B0FFMCX72M&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;美团专送&#39;,
   &#39;type&#39;: &#39;生活服务;生活服务场所;生活服务场所&#39;,
   &#39;typecode&#39;: &#39;070000&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: [],
   &#39;location&#39;: &#39;112.980899,22.939377&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;246&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFH8CGVC&#39;,
   &#39;parent&#39;: &#39;B02F50783V&#39;,
   &#39;childtype&#39;: &#39;202&#39;,
   &#39;name&#39;: &#39;杰俊电脑维修中心&#39;,
   &#39;type&#39;: &#39;生活服务;维修站点;维修站点&#39;,
   &#39;typecode&#39;: &#39;071200&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;江浦西路45号西樵商业中心F3&#39;,
   &#39;location&#39;: &#39;112.980767,22.939624&#39;,
   &#39;tel&#39;: &#39;0757-86809822&#39;,
   &#39;distance&#39;: &#39;276&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFJKT1XJ&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;街电(Fit-Fit专业美甲护理中心)&#39;,
   &#39;type&#39;: &#39;生活服务;共享设备;充电宝&#39;,
   &#39;typecode&#39;: &#39;072101&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;江浦西路45号西樵商业中心F2&#39;,
   &#39;location&#39;: &#39;112.980656,22.939584&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;279&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFMA1E0W&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;Reborn重生肌肤管理(西樵商业中心店)&#39;,
   &#39;type&#39;: &#39;生活服务;美容美发店;美容美发店&#39;,
   &#39;typecode&#39;: &#39;071100&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;江浦西路45号西樵商业中心F2&#39;,
   &#39;location&#39;: &#39;112.980633,22.939588&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;280&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFGWO65E&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;锋味沙鸡烧(西樵总店)&#39;,
   &#39;type&#39;: &#39;餐饮服务;快餐厅;快餐厅&#39;,
   &#39;typecode&#39;: &#39;050300&#39;,
   &#39;biz_type&#39;: &#39;diner&#39;,
   &#39;address&#39;: &#39;西樵镇官山高街西四巷5号首层(住所申报)&#39;,
   &#39;location&#39;: &#39;112.981168,22.939945&#39;,
   &#39;tel&#39;: &#39;13630128745&#39;,
   &#39;distance&#39;: &#39;290&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFLHPZ5L&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;JHnail&#39;,
   &#39;type&#39;: &#39;生活服务;美容美发店;美容美发店&#39;,
   &#39;typecode&#39;: &#39;071100&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;西樵江浦路仿古街17号&#39;,
   &#39;location&#39;: &#39;112.982073,22.940173&#39;,
   &#39;tel&#39;: &#39;13702992546&#39;,
   &#39;distance&#39;: &#39;296&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFIMVNZU&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;诗玛理发型专家(西樵一店)&#39;,
   &#39;type&#39;: &#39;生活服务;美容美发店;美容美发店&#39;,
   &#39;typecode&#39;: &#39;071100&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;西樵镇樵岭国际负一楼普蜂莲花超市入口正对面&#39;,
   &#39;location&#39;: &#39;112.981683,22.940174&#39;,
   &#39;tel&#39;: &#39;0757-86816263;17818903089&#39;,
   &#39;distance&#39;: &#39;301&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFIA3AWK&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;Miss美甲工作室(西樵商业中心店)&#39;,
   &#39;type&#39;: &#39;生活服务;生活服务场所;生活服务场所&#39;,
   &#39;typecode&#39;: &#39;070000&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;江浦西路45号西樵商业中心F1&#39;,
   &#39;location&#39;: &#39;112.980697,22.939851&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;302&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFIZN9OP&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;coco make up美妆造型工作室(西樵商业中心店)&#39;,
   &#39;type&#39;: &#39;生活服务;美容美发店;美容美发店&#39;,
   &#39;typecode&#39;: &#39;071100&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;西樵商业中心佛山市南海区江浦西路45号F2&#39;,
   &#39;location&#39;: &#39;112.980904,22.939988&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;305&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFJ8VL9J&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;樵房物业中介服务部&#39;,
   &#39;type&#39;: &#39;生活服务;中介机构;中介机构&#39;,
   &#39;typecode&#39;: &#39;071600&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;江浦西路45号西樵商业中心F1&#39;,
   &#39;location&#39;: &#39;112.980579,22.939882&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;311&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFJ8VL3W&#39;,
   &#39;parent&#39;: &#39;B02F50783V&#39;,
   &#39;childtype&#39;: &#39;202&#39;,
   &#39;name&#39;: &#39;安安纯中药调肤工作室(西樵商业中心店)&#39;,
   &#39;type&#39;: &#39;生活服务;美容美发店;美容美发店&#39;,
   &#39;typecode&#39;: &#39;071100&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;江浦西路45号西樵商业中心F2&#39;,
   &#39;location&#39;: &#39;112.980659,22.939940&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;312&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFKYZ5BO&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;西樵商业中心-直梯(客梯)&#39;,
   &#39;type&#39;: &#39;生活服务;生活服务场所;生活服务场所&#39;,
   &#39;typecode&#39;: &#39;070000&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;江浦西路45号西樵商业中心F1&#39;,
   &#39;location&#39;: &#39;112.980621,22.939924&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;313&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B02F510X2Z&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;剪约造型&#39;,
   &#39;type&#39;: &#39;生活服务;美容美发店;美容美发店&#39;,
   &#39;typecode&#39;: &#39;071100&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;江浦西路16号2楼(阿昌牛仔侧)&#39;,
   &#39;location&#39;: &#39;112.982226,22.940325&#39;,
   &#39;tel&#39;: &#39;0757-86858485&#39;,
   &#39;distance&#39;: &#39;313&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFLLCZTV&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;怪兽充电(诗玛理西樵二店)&#39;,
   &#39;type&#39;: &#39;生活服务;共享设备;充电宝&#39;,
   &#39;typecode&#39;: &#39;072101&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;官山城区江浦西路45号西樵商业中心首层107号铺&#39;,
   &#39;location&#39;: &#39;112.981069,22.940144&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;314&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B02F503ZO9&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;西樵房地产大厦&#39;,
   &#39;type&#39;: &#39;生活服务;中介机构;中介机构&#39;,
   &#39;typecode&#39;: &#39;071600&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;西樵镇江浦西路45号官山城区&#39;,
   &#39;location&#39;: &#39;112.980543,22.939907&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;315&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFM1OBHQ&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;华为客户服务中心(佛山西樵商业中心店)&#39;,
   &#39;type&#39;: &#39;生活服务;维修站点;维修站点&#39;,
   &#39;typecode&#39;: &#39;071200&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;西樵官山城区江浦西路45号西樵商业中心首层107号铺&#39;,
   &#39;location&#39;: &#39;112.980920,22.940152&#39;,
   &#39;tel&#39;: &#39;0757-86885633&#39;,
   &#39;distance&#39;: &#39;321&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFFDLTDG&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;西樵樵房物业管理有限公司白蚁防治部&#39;,
   &#39;type&#39;: &#39;公司企业;公司;公司|生活服务;生活服务场所;生活服务场所&#39;,
   &#39;typecode&#39;: &#39;170200|070000&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;江浦西路44附近&#39;,
   &#39;location&#39;: &#39;112.980572,22.940033&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;326&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFJNXB05&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;怪兽充电(动力苹果台球俱乐部)&#39;,
   &#39;type&#39;: &#39;生活服务;共享设备;充电宝&#39;,
   &#39;typecode&#39;: &#39;072101&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;西樵镇宫山江浦西路4号&#39;,
   &#39;location&#39;: &#39;112.982578,22.940452&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;330&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFLHQO9V&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;雅苑&#39;,
   &#39;type&#39;: &#39;商务住宅;住宅区;住宅区&#39;,
   &#39;typecode&#39;: &#39;120300&#39;,
   &#39;biz_type&#39;: [],
   &#39;address&#39;: &#39;江浦路&#39;,
   &#39;location&#39;: &#39;112.982647,22.940453&#39;,
   &#39;tel&#39;: [],
   &#39;distance&#39;: &#39;331&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []},
  {&#39;id&#39;: &#39;B0FFFQ4JMC&#39;,
   &#39;parent&#39;: [],
   &#39;childtype&#39;: [],
   &#39;name&#39;: &#39;爱蜜奇&#39;,
   &#39;type&#39;: &#39;餐饮服务;糕饼店;糕饼店&#39;,
   &#39;typecode&#39;: &#39;050800&#39;,
   &#39;biz_type&#39;: &#39;diner&#39;,
   &#39;address&#39;: &#39;高街西四巷江浦西路35号&#39;,
   &#39;location&#39;: &#39;112.980113,22.939809&#39;,
   &#39;tel&#39;: &#39;15386123120&#39;,
   &#39;distance&#39;: &#39;332&#39;,
   &#39;biz_ext&#39;: [],
   &#39;importance&#39;: [],
   &#39;shopid&#39;: [],
   &#39;shopinfo&#39;: &#39;0&#39;,
   &#39;poiweight&#39;: [],
   &#39;photos&#39;: []}]}</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="5.-IP&#23450;&#20301;">5. IP&#23450;&#20301;<a class="anchor-link" href="#5.-IP&#23450;&#20301;">&#182;</a></h3><h4 id="&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;IP&#22320;&#22336;&#65292;&#33021;&#22815;&#24555;&#36895;&#30340;&#24110;&#29992;&#25143;&#23450;&#20301;IP&#30340;&#25152;&#22312;&#20301;&#32622;">&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;IP&#22320;&#22336;&#65292;&#33021;&#22815;&#24555;&#36895;&#30340;&#24110;&#29992;&#25143;&#23450;&#20301;IP&#30340;&#25152;&#22312;&#20301;&#32622;<a class="anchor-link" href="#&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;IP&#22320;&#22336;&#65292;&#33021;&#22815;&#24555;&#36895;&#30340;&#24110;&#29992;&#25143;&#23450;&#20301;IP&#30340;&#25152;&#22312;&#20301;&#32622;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>思考：用手机或电脑可以定位到当前所在位置，可以适用于位置共享功能</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[154]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">ip</span><span class="p">(</span><span class="n">ip</span><span class="p">:</span><span class="nb">str</span><span class="p">):</span>
    <span class="n">params</span> <span class="o">=</span> <span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span><span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;ip&#39;</span><span class="p">:</span><span class="n">ip</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span> <span class="p">(</span><span class="s2">&quot;https://restapi.amap.com/v3/ip?parameters&quot;</span><span class="p">,</span><span class="n">params</span> <span class="o">=</span> <span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">r</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
    <span class="k">del</span> <span class="n">data</span><span class="p">[</span><span class="s1">&#39;status&#39;</span><span class="p">]</span>
    <span class="k">del</span> <span class="n">data</span><span class="p">[</span><span class="s1">&#39;info&#39;</span><span class="p">]</span>
    <span class="n">df</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;省份：</span><span class="si">%s</span><span class="s2">&quot;</span><span class="o">%</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;province&#39;</span><span class="p">]),</span><span class="s2">&quot;地区：</span><span class="si">%s</span><span class="s2">&quot;</span><span class="o">%</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;city&#39;</span><span class="p">]),</span><span class="s2">&quot;地理编码：</span><span class="si">%s</span><span class="s2">&quot;</span><span class="o">%</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;adcode&#39;</span><span class="p">]),</span><span class="s2">&quot;经纬度： </span><span class="si">%s</span><span class="s2">&quot;</span><span class="o">%</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;rectangle&#39;</span><span class="p">])]</span>
    <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;ip:&quot;</span><span class="o">+</span><span class="n">ip</span><span class="p">)</span>
    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">df</span><span class="p">:</span>
        <span class="nb">print</span><span class="p">(</span><span class="n">i</span><span class="p">)</span>
    <span class="k">return</span>
</pre></div>

    </div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[155]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">ip</span><span class="p">(</span><span class="s2">&quot;182.254.192.28&quot;</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>ip:182.254.192.28
省份：广东省
地区：广州市
地理编码：440100
经纬度： 113.1017375,22.93212254;113.6770499,23.3809537
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="6.&#25209;&#37327;&#35831;&#27714;&#25509;&#21475;">6.&#25209;&#37327;&#35831;&#27714;&#25509;&#21475;<a class="anchor-link" href="#6.&#25209;&#37327;&#35831;&#27714;&#25509;&#21475;">&#182;</a></h3><h4 id="&#36890;&#36807;&#29992;&#25143;&#20256;&#20837;&#21512;&#24182;&#21518;&#30340;&#35831;&#27714;&#65292;&#21516;&#26102;&#36820;&#22238;&#22810;&#20010;&#35831;&#27714;&#30340;&#39034;&#24207;&#38598;&#21512;">&#36890;&#36807;&#29992;&#25143;&#20256;&#20837;&#21512;&#24182;&#21518;&#30340;&#35831;&#27714;&#65292;&#21516;&#26102;&#36820;&#22238;&#22810;&#20010;&#35831;&#27714;&#30340;&#39034;&#24207;&#38598;&#21512;<a class="anchor-link" href="#&#36890;&#36807;&#29992;&#25143;&#20256;&#20837;&#21512;&#24182;&#21518;&#30340;&#35831;&#27714;&#65292;&#21516;&#26102;&#36820;&#22238;&#22810;&#20010;&#35831;&#27714;&#30340;&#39034;&#24207;&#38598;&#21512;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>思考：一次可以进行多个请求，方便快捷</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[268]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># A-1 地理编码</span>
<span class="k">def</span> <span class="nf">geocode</span><span class="p">(</span><span class="n">address</span><span class="p">,</span><span class="n">city</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">batch</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span><span class="n">sig</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span><span class="o">-&gt;</span><span class="nb">dict</span><span class="p">:</span>
    <span class="sd">&quot;&quot;&quot;获取地理编码&quot;&quot;&quot;</span>
    <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;https://restapi.amap.com/v3/geocode/geo?parameters&#39;</span>
    <span class="n">params</span><span class="o">=</span><span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span> <span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;address&#39;</span><span class="p">:</span><span class="n">address</span><span class="p">,</span>
        <span class="s1">&#39;city&#39;</span><span class="p">:</span><span class="n">city</span><span class="p">,</span>
        <span class="s1">&#39;batch&#39;</span><span class="p">:</span><span class="n">batch</span><span class="p">,</span>
        <span class="s1">&#39;sig&#39;</span><span class="p">:</span><span class="n">sig</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
    <span class="k">return</span> <span class="n">data</span>
<span class="n">中大南方</span> <span class="o">=</span> <span class="n">geocode</span><span class="p">(</span><span class="n">address</span><span class="o">=</span><span class="s1">&#39;广东省广州市从化区中山大学南方学院&#39;</span><span class="p">)</span>
<span class="n">西樵山</span><span class="o">=</span> <span class="n">geocode</span><span class="p">(</span><span class="n">address</span><span class="o">=</span><span class="s1">&#39;广东省佛山市南海区西樵山&#39;</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">中大南方</span><span class="p">,</span><span class="n">西樵山</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>{&#39;status&#39;: &#39;1&#39;, &#39;info&#39;: &#39;OK&#39;, &#39;infocode&#39;: &#39;10000&#39;, &#39;count&#39;: &#39;1&#39;, &#39;geocodes&#39;: [{&#39;formatted_address&#39;: &#39;广东省广州市从化区中山大学南方学院&#39;, &#39;country&#39;: &#39;中国&#39;, &#39;province&#39;: &#39;广东省&#39;, &#39;citycode&#39;: &#39;020&#39;, &#39;city&#39;: &#39;广州市&#39;, &#39;district&#39;: &#39;从化区&#39;, &#39;township&#39;: [], &#39;neighborhood&#39;: {&#39;name&#39;: [], &#39;type&#39;: []}, &#39;building&#39;: {&#39;name&#39;: [], &#39;type&#39;: []}, &#39;adcode&#39;: &#39;440117&#39;, &#39;street&#39;: [], &#39;number&#39;: [], &#39;location&#39;: &#39;113.679287,23.632575&#39;, &#39;level&#39;: &#39;兴趣点&#39;}]} {&#39;status&#39;: &#39;1&#39;, &#39;info&#39;: &#39;OK&#39;, &#39;infocode&#39;: &#39;10000&#39;, &#39;count&#39;: &#39;1&#39;, &#39;geocodes&#39;: [{&#39;formatted_address&#39;: &#39;广东省佛山市南海区西樵山&#39;, &#39;country&#39;: &#39;中国&#39;, &#39;province&#39;: &#39;广东省&#39;, &#39;citycode&#39;: &#39;0757&#39;, &#39;city&#39;: &#39;佛山市&#39;, &#39;district&#39;: &#39;南海区&#39;, &#39;township&#39;: [], &#39;neighborhood&#39;: {&#39;name&#39;: [], &#39;type&#39;: []}, &#39;building&#39;: {&#39;name&#39;: [], &#39;type&#39;: []}, &#39;adcode&#39;: &#39;440605&#39;, &#39;street&#39;: [], &#39;number&#39;: [], &#39;location&#39;: &#39;112.982186,22.937509&#39;, &#39;level&#39;: &#39;热点商圈&#39;}]}
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="7.-&#38745;&#24577;&#22320;&#22270;">7. &#38745;&#24577;&#22320;&#22270;<a class="anchor-link" href="#7.-&#38745;&#24577;&#22320;&#22270;">&#182;</a></h3><h4 id="&#20351;&#29992;&#25143;&#33021;&#22815;&#23558;&#39640;&#24503;&#22320;&#22270;&#20197;&#22270;&#29255;&#24418;&#24335;&#23884;&#20837;&#33258;&#24049;&#30340;&#32593;&#39029;&#20013;&#12290;">&#20351;&#29992;&#25143;&#33021;&#22815;&#23558;&#39640;&#24503;&#22320;&#22270;&#20197;&#22270;&#29255;&#24418;&#24335;&#23884;&#20837;&#33258;&#24049;&#30340;&#32593;&#39029;&#20013;&#12290;<a class="anchor-link" href="#&#20351;&#29992;&#25143;&#33021;&#22815;&#23558;&#39640;&#24503;&#22320;&#22270;&#20197;&#22270;&#29255;&#24418;&#24335;&#23884;&#20837;&#33258;&#24049;&#30340;&#32593;&#39029;&#20013;&#12290;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>思考：可能有计算机视觉功能，可以根据需求将图片的位置范围进行调整</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[164]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">PIL</span> <span class="k">import</span> <span class="n">Image</span>
<span class="kn">from</span> <span class="nn">io</span> <span class="k">import</span> <span class="n">BytesIO</span>
<span class="k">def</span> <span class="nf">staticmap</span><span class="p">(</span><span class="n">location</span><span class="p">,</span><span class="n">zoom</span><span class="p">,</span><span class="n">size</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">scale</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">markers</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">labels</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">paths</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">traffic</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="n">page</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span><span class="n">sig</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span><span class="o">-&gt;</span><span class="nb">dict</span><span class="p">:</span>
    <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;https://restapi.amap.com/v3/staticmap?parameters&#39;</span>
    <span class="n">params</span><span class="o">=</span><span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span><span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;location&#39;</span><span class="p">:</span><span class="n">location</span><span class="p">,</span>
        <span class="s1">&#39;zoom&#39;</span><span class="p">:</span><span class="n">zoom</span><span class="p">,</span>
        <span class="s1">&#39;size&#39;</span><span class="p">:</span><span class="n">size</span><span class="p">,</span>
        <span class="s1">&#39;scale&#39;</span><span class="p">:</span><span class="n">scale</span><span class="p">,</span>
        <span class="s1">&#39;markers&#39;</span><span class="p">:</span><span class="n">markers</span><span class="p">,</span>
        <span class="s1">&#39;labels&#39;</span><span class="p">:</span><span class="n">labels</span><span class="p">,</span>
        <span class="s1">&#39;paths&#39;</span><span class="p">:</span><span class="n">paths</span><span class="p">,</span>
        <span class="s1">&#39;traffic&#39;</span><span class="p">:</span><span class="n">traffic</span><span class="p">,</span>
        <span class="s1">&#39;sig&#39;</span><span class="p">:</span><span class="n">sig</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">BytesIO</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">content</span><span class="p">))</span>
    <span class="k">return</span> <span class="n">data</span>
</pre></div>

    </div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[165]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">staticmap</span><span class="p">(</span><span class="n">location</span><span class="o">=</span><span class="n">中大南方_location</span><span class="p">,</span><span class="n">zoom</span><span class="o">=</span><span class="mi">18</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt output_prompt">Out[165]:</div>




<div class="output_png output_subarea output_execute_result">
<img src="
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="8.&#22352;&#26631;&#36716;&#25442;">8.&#22352;&#26631;&#36716;&#25442;<a class="anchor-link" href="#8.&#22352;&#26631;&#36716;&#25442;">&#182;</a></h3><h4 id="&#23558;&#29992;&#25143;&#36755;&#20837;&#30340;&#38750;&#39640;&#24503;&#22352;&#26631;&#65288;GPS&#22352;&#26631;&#12289;mapbar&#22352;&#26631;&#12289;baidu&#22352;&#26631;&#65289;&#36716;&#25442;&#25104;&#39640;&#24503;&#22352;&#26631;&#12290;">&#23558;&#29992;&#25143;&#36755;&#20837;&#30340;&#38750;&#39640;&#24503;&#22352;&#26631;&#65288;GPS&#22352;&#26631;&#12289;mapbar&#22352;&#26631;&#12289;baidu&#22352;&#26631;&#65289;&#36716;&#25442;&#25104;&#39640;&#24503;&#22352;&#26631;&#12290;<a class="anchor-link" href="#&#23558;&#29992;&#25143;&#36755;&#20837;&#30340;&#38750;&#39640;&#24503;&#22352;&#26631;&#65288;GPS&#22352;&#26631;&#12289;mapbar&#22352;&#26631;&#12289;baidu&#22352;&#26631;&#65289;&#36716;&#25442;&#25104;&#39640;&#24503;&#22352;&#26631;&#12290;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[180]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">assistant</span><span class="p">(</span><span class="n">locations</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span><span class="n">coordsys</span><span class="p">:</span><span class="nb">str</span><span class="p">):</span>
    <span class="n">params</span> <span class="o">=</span><span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span><span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;coordsys&#39;</span><span class="p">:</span><span class="n">coordsys</span><span class="p">,</span>
        <span class="s1">&#39;locations&#39;</span><span class="p">:</span><span class="n">locations</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span> <span class="p">(</span><span class="s2">&quot;https://restapi.amap.com/v3/assistant/coordinate/convert?parameters&quot;</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">r</span><span class="o">.</span><span class="n">json</span><span class="p">()[</span><span class="s1">&#39;locations&#39;</span><span class="p">]</span>
    <span class="k">return</span> <span class="n">data</span>
</pre></div>

    </div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[181]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">assistant</span><span class="p">(</span><span class="s2">&quot;117.265467,38.880465|117.265467,38.880465&quot;</span><span class="p">,</span><span class="s2">&quot;gps&quot;</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt output_prompt">Out[181]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>&#39;117.271721733941,38.881311306424;117.271721733941,38.881311306424&#39;</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="9.&#22825;&#27668;&#26597;&#35810;">9.&#22825;&#27668;&#26597;&#35810;<a class="anchor-link" href="#9.&#22825;&#27668;&#26597;&#35810;">&#182;</a></h3><h4 id="&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;adcode&#65292;&#26597;&#35810;&#30446;&#26631;&#21306;&#22495;&#24403;&#21069;/&#26410;&#26469;&#30340;&#22825;&#27668;&#24773;&#20917;">&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;adcode&#65292;&#26597;&#35810;&#30446;&#26631;&#21306;&#22495;&#24403;&#21069;/&#26410;&#26469;&#30340;&#22825;&#27668;&#24773;&#20917;<a class="anchor-link" href="#&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;adcode&#65292;&#26597;&#35810;&#30446;&#26631;&#21306;&#22495;&#24403;&#21069;/&#26410;&#26469;&#30340;&#22825;&#27668;&#24773;&#20917;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>思考：可以加入语音功能</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[269]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">weather</span><span class="p">(</span><span class="n">city</span><span class="p">:</span><span class="nb">str</span><span class="p">):</span>
    <span class="n">params</span> <span class="o">=</span> <span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span><span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;city&#39;</span><span class="p">:</span><span class="n">city</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;https://restapi.amap.com/v3/weather/weatherInfo?parameters&quot;</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">r</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
    <span class="k">return</span> <span class="n">data</span>
</pre></div>

    </div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[183]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">weather</span><span class="p">(</span><span class="s2">&quot;广州&quot;</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt output_prompt">Out[183]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>{&#39;status&#39;: &#39;1&#39;,
 &#39;count&#39;: &#39;1&#39;,
 &#39;info&#39;: &#39;OK&#39;,
 &#39;infocode&#39;: &#39;10000&#39;,
 &#39;lives&#39;: [{&#39;province&#39;: &#39;广东&#39;,
   &#39;city&#39;: &#39;广州市&#39;,
   &#39;adcode&#39;: &#39;440100&#39;,
   &#39;weather&#39;: &#39;雨&#39;,
   &#39;temperature&#39;: &#39;16&#39;,
   &#39;winddirection&#39;: &#39;东北&#39;,
   &#39;windpower&#39;: &#39;≤3&#39;,
   &#39;humidity&#39;: &#39;97&#39;,
   &#39;reporttime&#39;: &#39;2020-04-22 19:52:48&#39;}]}</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="10.&#36755;&#20837;&#25552;&#31034;">10.&#36755;&#20837;&#25552;&#31034;<a class="anchor-link" href="#10.&#36755;&#20837;&#25552;&#31034;">&#182;</a></h3><h4 id="&#25552;&#20379;&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;&#20851;&#38190;&#35789;&#26597;&#35810;&#36820;&#22238;&#24314;&#35758;&#21015;&#34920;">&#25552;&#20379;&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;&#20851;&#38190;&#35789;&#26597;&#35810;&#36820;&#22238;&#24314;&#35758;&#21015;&#34920;<a class="anchor-link" href="#&#25552;&#20379;&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;&#20851;&#38190;&#35789;&#26597;&#35810;&#36820;&#22238;&#24314;&#35758;&#21015;&#34920;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>思考：有推荐算法功能，根据用户的输入信息帮用户列出相关信息</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[185]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">inputtips</span><span class="p">(</span><span class="n">keywords</span><span class="p">:</span><span class="nb">str</span><span class="p">):</span>
    <span class="n">params</span> <span class="o">=</span> <span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span><span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;keywords&#39;</span><span class="p">:</span><span class="n">keywords</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;https://restapi.amap.com/v3/assistant/inputtips?parameters&quot;</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span> <span class="n">r</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
    <span class="k">return</span> <span class="n">data</span>
</pre></div>

    </div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[186]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">inputtips</span><span class="p">(</span><span class="s2">&quot;广州&quot;</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt output_prompt">Out[186]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>{&#39;status&#39;: &#39;1&#39;,
 &#39;count&#39;: &#39;10&#39;,
 &#39;info&#39;: &#39;OK&#39;,
 &#39;infocode&#39;: &#39;10000&#39;,
 &#39;tips&#39;: [{&#39;id&#39;: &#39;B00140WEW0&#39;,
   &#39;name&#39;: &#39;广州站&#39;,
   &#39;district&#39;: &#39;广东省广州市越秀区&#39;,
   &#39;adcode&#39;: &#39;440104&#39;,
   &#39;location&#39;: &#39;113.257331,23.149243&#39;,
   &#39;address&#39;: &#39;环市西路159号&#39;,
   &#39;typecode&#39;: &#39;150200&#39;,
   &#39;city&#39;: []},
  {&#39;id&#39;: &#39;B00140VAP3&#39;,
   &#39;name&#39;: &#39;广州南站&#39;,
   &#39;district&#39;: &#39;广东省广州市番禺区&#39;,
   &#39;adcode&#39;: &#39;440113&#39;,
   &#39;location&#39;: &#39;113.269114,22.988374&#39;,
   &#39;address&#39;: &#39;南站北路&#39;,
   &#39;typecode&#39;: &#39;150200&#39;,
   &#39;city&#39;: []},
  {&#39;id&#39;: &#39;B00140WBI1&#39;,
   &#39;name&#39;: &#39;广州塔&#39;,
   &#39;district&#39;: &#39;广东省广州市海珠区&#39;,
   &#39;adcode&#39;: &#39;440105&#39;,
   &#39;location&#39;: &#39;113.324553,23.106414&#39;,
   &#39;address&#39;: &#39;阅江西路222号&#39;,
   &#39;typecode&#39;: &#39;110200&#39;,
   &#39;city&#39;: []},
  {&#39;id&#39;: [],
   &#39;name&#39;: &#39;广州市&#39;,
   &#39;district&#39;: &#39;广东省广州市&#39;,
   &#39;adcode&#39;: &#39;440104&#39;,
   &#39;location&#39;: [],
   &#39;address&#39;: &#39;越秀区&#39;,
   &#39;typecode&#39;: &#39;190104&#39;,
   &#39;city&#39;: []},
  {&#39;id&#39;: &#39;B00140TY64&#39;,
   &#39;name&#39;: &#39;广州东站&#39;,
   &#39;district&#39;: &#39;广东省广州市天河区&#39;,
   &#39;adcode&#39;: &#39;440106&#39;,
   &#39;location&#39;: &#39;113.324981,23.150597&#39;,
   &#39;address&#39;: &#39;东站路1号&#39;,
   &#39;typecode&#39;: &#39;150200&#39;,
   &#39;city&#39;: []},
  {&#39;id&#39;: &#39;B00140UERW&#39;,
   &#39;name&#39;: &#39;广州北站&#39;,
   &#39;district&#39;: &#39;广东省广州市花都区&#39;,
   &#39;adcode&#39;: &#39;440114&#39;,
   &#39;location&#39;: &#39;113.203846,23.377273&#39;,
   &#39;address&#39;: &#39;站前路1号&#39;,
   &#39;typecode&#39;: &#39;150200&#39;,
   &#39;city&#39;: []},
  {&#39;id&#39;: &#39;B00190AYI5&#39;,
   &#39;name&#39;: &#39;广州路&#39;,
   &#39;district&#39;: &#39;江苏省南京市鼓楼区&#39;,
   &#39;adcode&#39;: &#39;320106&#39;,
   &#39;location&#39;: &#39;118.770105,32.049999&#39;,
   &#39;address&#39;: [],
   &#39;typecode&#39;: &#39;190301&#39;,
   &#39;city&#39;: []},
  {&#39;id&#39;: &#39;B03170RV0J&#39;,
   &#39;name&#39;: &#39;广州路&#39;,
   &#39;district&#39;: &#39;江西省南昌市青云谱区&#39;,
   &#39;adcode&#39;: &#39;360104&#39;,
   &#39;location&#39;: &#39;115.937772,28.620635&#39;,
   &#39;address&#39;: [],
   &#39;typecode&#39;: &#39;190301&#39;,
   &#39;city&#39;: []},
  {&#39;id&#39;: &#39;B0214080X1&#39;,
   &#39;name&#39;: &#39;广州路&#39;,
   &#39;district&#39;: &#39;山东省青岛市市南区&#39;,
   &#39;adcode&#39;: &#39;370202&#39;,
   &#39;location&#39;: &#39;120.311271,36.065385&#39;,
   &#39;address&#39;: [],
   &#39;typecode&#39;: &#39;190301&#39;,
   &#39;city&#39;: []},
  {&#39;id&#39;: &#39;B001407723&#39;,
   &#39;name&#39;: &#39;广州体育馆&#39;,
   &#39;district&#39;: &#39;广东省广州市白云区&#39;,
   &#39;adcode&#39;: &#39;440111&#39;,
   &#39;location&#39;: &#39;113.276676,23.18129&#39;,
   &#39;address&#39;: &#39;白云大道南783号&#39;,
   &#39;typecode&#39;: &#39;080101&#39;,
   &#39;city&#39;: []}]}</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="11.&#20132;&#36890;&#24577;&#21183;">11.&#20132;&#36890;&#24577;&#21183;<a class="anchor-link" href="#11.&#20132;&#36890;&#24577;&#21183;">&#182;</a></h3><h4 id="&#20379;&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;&#20869;&#23481;&#33021;&#22815;&#36820;&#22238;&#24076;&#26395;&#26597;&#35810;&#30340;&#20132;&#36890;&#24577;&#21183;&#24773;&#20917;&#12290;">&#20379;&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;&#20869;&#23481;&#33021;&#22815;&#36820;&#22238;&#24076;&#26395;&#26597;&#35810;&#30340;&#20132;&#36890;&#24577;&#21183;&#24773;&#20917;&#12290;<a class="anchor-link" href="#&#20379;&#26681;&#25454;&#29992;&#25143;&#36755;&#20837;&#30340;&#20869;&#23481;&#33021;&#22815;&#36820;&#22238;&#24076;&#26395;&#26597;&#35810;&#30340;&#20132;&#36890;&#24577;&#21183;&#24773;&#20917;&#12290;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>思考：可以加入语音功能，应该有相关的实时算法推算用户当前所在位置的交通情况</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[196]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">rectangle</span><span class="p">(</span><span class="n">rectangle</span><span class="p">:</span><span class="nb">str</span><span class="p">):</span>
    <span class="n">params</span> <span class="o">=</span> <span class="p">{</span>
        <span class="s1">&#39;key&#39;</span><span class="p">:</span><span class="n">key</span><span class="p">,</span>
        <span class="s1">&#39;rectangle&#39;</span><span class="p">:</span><span class="n">rectangle</span><span class="p">,</span>
        <span class="s1">&#39;output&#39;</span><span class="p">:</span><span class="s1">&#39;json&#39;</span>
    <span class="p">}</span>
    <span class="n">r</span> <span class="o">=</span><span class="n">requests</span><span class="o">.</span><span class="n">get</span> <span class="p">(</span><span class="s2">&quot;https://restapi.amap.com/v3/traffic/status/rectangle?parameters&quot;</span><span class="p">,</span><span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span>
    <span class="n">data</span> <span class="o">=</span><span class="n">r</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
    <span class="k">return</span> <span class="n">data</span>
</pre></div>

    </div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[201]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">rectangle</span><span class="p">(</span><span class="s2">&quot;116.351147,39.966309;116.357134,39.968727&quot;</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt output_prompt">Out[201]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>{&#39;status&#39;: &#39;1&#39;,
 &#39;info&#39;: &#39;OK&#39;,
 &#39;infocode&#39;: &#39;10000&#39;,
 &#39;trafficinfo&#39;: {&#39;description&#39;: &#39;北三环路：双向畅通。&#39;,
  &#39;evaluation&#39;: {&#39;expedite&#39;: &#39;100.00%&#39;,
   &#39;congested&#39;: &#39;0.00%&#39;,
   &#39;blocked&#39;: &#39;0.00%&#39;,
   &#39;unknown&#39;: &#39;0.00%&#39;,
   &#39;status&#39;: &#39;1&#39;,
   &#39;description&#39;: &#39;整体畅通&#39;}}}</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="12.&#22320;&#29702;&#22260;&#26639;">12.&#22320;&#29702;&#22260;&#26639;<a class="anchor-link" href="#12.&#22320;&#29702;&#22260;&#26639;">&#182;</a></h3><h4 id="&#36866;&#29992;&#20110;&#38656;&#35201;&#38024;&#23545;&#29305;&#23450;&#21306;&#22495;&#65292;&#30417;&#25511;&#29992;&#25143;&#20301;&#32622;&#19982;&#21306;&#22495;&#20851;&#31995;&#30340;&#22330;&#26223;&#20013;">&#36866;&#29992;&#20110;&#38656;&#35201;&#38024;&#23545;&#29305;&#23450;&#21306;&#22495;&#65292;&#30417;&#25511;&#29992;&#25143;&#20301;&#32622;&#19982;&#21306;&#22495;&#20851;&#31995;&#30340;&#22330;&#26223;&#20013;<a class="anchor-link" href="#&#36866;&#29992;&#20110;&#38656;&#35201;&#38024;&#23545;&#29305;&#23450;&#21306;&#22495;&#65292;&#30417;&#25511;&#29992;&#25143;&#20301;&#32622;&#19982;&#21306;&#22495;&#20851;&#31995;&#30340;&#22330;&#26223;&#20013;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[264]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">requests</span>
<span class="kn">import</span> <span class="nn">json</span>
<span class="n">url_weilan</span> <span class="o">=</span> <span class="s1">&#39;https://restapi.amap.com/v4/geofence/meta?key=b53a7b957490c7a0d615f499e6afc1b0&#39;</span>
<span class="n">paylod</span> <span class="o">=</span> <span class="p">{</span>
    <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;测试围栏名称&quot;</span><span class="p">,</span>
    <span class="s2">&quot;center&quot;</span><span class="p">:</span> <span class="s2">&quot;115.672126,38.817129&quot;</span><span class="p">,</span>
    <span class="s2">&quot;radius&quot;</span><span class="p">:</span> <span class="s2">&quot;1000&quot;</span><span class="p">,</span>
    <span class="s2">&quot;enable&quot;</span><span class="p">:</span> <span class="s2">&quot;true&quot;</span><span class="p">,</span>
    <span class="s2">&quot;valid_time&quot;</span><span class="p">:</span> <span class="s2">&quot;2020-05-19&quot;</span><span class="p">,</span>
    <span class="s2">&quot;repeat&quot;</span><span class="p">:</span> <span class="s2">&quot;Mon,Tues,Wed,Thur,Fri,Sat,Sun&quot;</span><span class="p">,</span>
    <span class="s2">&quot;time&quot;</span><span class="p">:</span> <span class="s2">&quot;00:00,11:59;13:00,20:59&quot;</span><span class="p">,</span>
    <span class="s2">&quot;desc&quot;</span><span class="p">:</span> <span class="s2">&quot;测试围栏描述&quot;</span><span class="p">,</span>
    <span class="s2">&quot;alert_condition&quot;</span><span class="p">:</span> <span class="s2">&quot;enter;leave&quot;</span>
<span class="p">}</span>
<span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="n">url_weilan</span><span class="p">,</span> <span class="n">data</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">paylod</span><span class="p">))</span>
<span class="n">data_create</span><span class="o">=</span><span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
<span class="nb">print</span><span class="p">(</span><span class="n">data_create</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>{&#39;data&#39;: {&#39;gid&#39;: &#39;1ed4a03c-857c-4cfe-8bc7-ebcf83268196&#39;, &#39;id&#39;: &#39;0&#39;, &#39;message&#39;: &#39;成功&#39;, &#39;status&#39;: &#39;0&#39;}, &#39;errcode&#39;: 0, &#39;errdetail&#39;: None, &#39;errmsg&#39;: &#39;OK&#39;, &#39;ext&#39;: None}
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="13.&#36712;&#36857;&#32416;&#20559;">13.&#36712;&#36857;&#32416;&#20559;<a class="anchor-link" href="#13.&#36712;&#36857;&#32416;&#20559;">&#182;</a></h3><h4 id="&#26681;&#25454;&#32473;&#23450;&#30340;&#22352;&#26631;&#28857;&#12289;&#36710;&#36742;&#30340;&#26041;&#20301;&#35282;&#20197;&#21450;&#34892;&#39542;&#36895;&#24230;&#65292;&#23558;&#29992;&#25143;&#30340;&#36712;&#36857;&#32416;&#20559;&#21040;&#36335;&#19978;&#65292;&#20174;&#32780;&#36820;&#22238;&#29992;&#25143;&#23454;&#38469;&#39550;&#36710;&#32463;&#36807;&#30340;&#36947;&#36335;&#22352;&#26631;&#12290;">&#26681;&#25454;&#32473;&#23450;&#30340;&#22352;&#26631;&#28857;&#12289;&#36710;&#36742;&#30340;&#26041;&#20301;&#35282;&#20197;&#21450;&#34892;&#39542;&#36895;&#24230;&#65292;&#23558;&#29992;&#25143;&#30340;&#36712;&#36857;&#32416;&#20559;&#21040;&#36335;&#19978;&#65292;&#20174;&#32780;&#36820;&#22238;&#29992;&#25143;&#23454;&#38469;&#39550;&#36710;&#32463;&#36807;&#30340;&#36947;&#36335;&#22352;&#26631;&#12290;<a class="anchor-link" href="#&#26681;&#25454;&#32473;&#23450;&#30340;&#22352;&#26631;&#28857;&#12289;&#36710;&#36742;&#30340;&#26041;&#20301;&#35282;&#20197;&#21450;&#34892;&#39542;&#36895;&#24230;&#65292;&#23558;&#29992;&#25143;&#30340;&#36712;&#36857;&#32416;&#20559;&#21040;&#36335;&#19978;&#65292;&#20174;&#32780;&#36820;&#22238;&#29992;&#25143;&#23454;&#38469;&#39550;&#36710;&#32463;&#36807;&#30340;&#36947;&#36335;&#22352;&#26631;&#12290;">&#182;</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>思考：可以加入语音功能，帮用户检测当前行驶速度是否超速等，应该有相关的实时算法推算用户当前所在位置，及当前路况所需注意事项等</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[265]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">url_guiji</span> <span class="o">=</span> <span class="s2">&quot;https://restapi.amap.com/v4/grasproad/driving?key=b53a7b957490c7a0d615f499e6afc1b0&quot;</span>

<span class="n">payload</span> <span class="o">=</span><span class="p">[{</span>
      <span class="s2">&quot;x&quot;</span><span class="p">:</span> <span class="mf">116.449429</span><span class="p">,</span>
      <span class="s2">&quot;y&quot;</span><span class="p">:</span> <span class="mf">40.014844</span><span class="p">,</span>
      <span class="s2">&quot;sp&quot;</span><span class="p">:</span> <span class="mi">4</span><span class="p">,</span>
      <span class="s2">&quot;ag&quot;</span><span class="p">:</span> <span class="mi">110</span><span class="p">,</span>
      <span class="s2">&quot;tm&quot;</span><span class="p">:</span> <span class="mi">1478831753</span>
    <span class="p">},</span>
    <span class="p">{</span>
      <span class="s2">&quot;x&quot;</span><span class="p">:</span> <span class="mf">116.449639</span><span class="p">,</span>
      <span class="s2">&quot;y&quot;</span><span class="p">:</span> <span class="mf">40.014776</span><span class="p">,</span>
      <span class="s2">&quot;sp&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
      <span class="s2">&quot;ag&quot;</span><span class="p">:</span> <span class="mi">110</span><span class="p">,</span>
      <span class="s2">&quot;tm&quot;</span><span class="p">:</span> <span class="mi">23</span>
    <span class="p">},</span>
    <span class="p">{</span>
      <span class="s2">&quot;x&quot;</span><span class="p">:</span> <span class="mf">116.449859</span><span class="p">,</span>
      <span class="s2">&quot;y&quot;</span><span class="p">:</span> <span class="mf">40.014716</span><span class="p">,</span>
      <span class="s2">&quot;sp&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
      <span class="s2">&quot;ag&quot;</span><span class="p">:</span> <span class="mi">111</span><span class="p">,</span>
      <span class="s2">&quot;tm&quot;</span><span class="p">:</span> <span class="mi">33</span>
    <span class="p">},</span>
    <span class="p">{</span>
      <span class="s2">&quot;x&quot;</span><span class="p">:</span> <span class="mf">116.450074</span><span class="p">,</span>
      <span class="s2">&quot;y&quot;</span><span class="p">:</span> <span class="mf">40.014658</span><span class="p">,</span>
      <span class="s2">&quot;sp&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
      <span class="s2">&quot;ag&quot;</span><span class="p">:</span> <span class="mi">110</span><span class="p">,</span>
      <span class="s2">&quot;tm&quot;</span><span class="p">:</span> <span class="mi">31</span>
    <span class="p">},</span>
    <span class="p">{</span>
      <span class="s2">&quot;x&quot;</span><span class="p">:</span> <span class="mf">116.450273</span><span class="p">,</span>
      <span class="s2">&quot;y&quot;</span><span class="p">:</span> <span class="mf">40.014598</span><span class="p">,</span>
      <span class="s2">&quot;sp&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
      <span class="s2">&quot;ag&quot;</span><span class="p">:</span> <span class="mi">111</span><span class="p">,</span>
      <span class="s2">&quot;tm&quot;</span><span class="p">:</span> <span class="mi">20</span>
    <span class="p">}</span>
<span class="p">]</span>
<span class="c1">#json.dumps转换为列表，post传输一定要用data</span>
<span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="n">url_guiji</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">payload</span><span class="p">))</span>

<span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>

<span class="nb">print</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</pre></div>

    </div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

    <div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>{&#39;data&#39;: {&#39;distance&#39;: 33.0, &#39;points&#39;: [{&#39;x&#39;: 116.44942000249563, &#39;y&#39;: 40.014843356125866}, {&#39;x&#39;: 116.44945705955585, &#39;y&#39;: 40.01453960973057}]}, &#39;errcode&#39;: 0, &#39;errdetail&#39;: None, &#39;errmsg&#39;: &#39;OK&#39;, &#39;ext&#39;: None}
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="&#23581;&#35797;&#35774;&#35745;&#19968;&#20010;&#31616;&#21333;&#30340;&#24212;&#29992;">&#23581;&#35797;&#35774;&#35745;&#19968;&#20010;&#31616;&#21333;&#30340;&#24212;&#29992;<a class="anchor-link" href="#&#23581;&#35797;&#35774;&#35745;&#19968;&#20010;&#31616;&#21333;&#30340;&#24212;&#29992;">&#182;</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>一个实时的户外探险软件：
1.地理围栏，设置好探险范围，便于走着走着偏离了方向
2.IP定位，实时用手机定位共享位置，防止在路上与队友走丢
3.天气查询，实时的当地天气播报，防止在探险中天气突变而不能及时应对
4.路径规划，可以实时知道离目的地还有多远，方便旅行者在探险时根据需求调整速度</p>

</div>
</div>
</div>
    </div>
  </div>
</body>

 


</html>
